去评论
爱生活

请问C语言 char类型的指针要怎么赋值?,char类型怎么赋值

123
2022/08/09 08:12:01

请问C语言 char类型的指针要怎么赋值?


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int  main()
{
   char *source = malloc(20*sizeof(char);
  printf("Please input source \n");
  scanf("%s",source);//f方法三
printf("%s\n",source);
  char *temp = "my input source"
  sprintf(source,"%s",temp);//方法一
printf("%s\n",source);
strcpy(source,temp);//方法二
printf("%s\n",source);
return 0 ;
}
指针是无法存放字符串的,只有指针指向的那块空间才能存放字符串,所以我第一句话给它开辟了20个空间,这样就可以给指针指向的那块空间赋值了,谢谢
另外给你一个建议 char *a = NULL,*b =NULL,*c =NULL;这样的写法是不规范的,很容易出错。标准形式应该是char *a= NULL;
                     char *b = NULL;
                    char *c = NULL;


C语言中如何给char型变量赋值?


定义char变量后就可以赋值了

例如:
  char   x;
  x='chen';
  这就可以要单引号


char[]数组该如何赋值?


定义一个数组char a[10];
怎么给这个数组赋值呢?
1、定义的时候直接用字符串赋值
char a[10]="hello";
注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!
2、对数组中字符逐个赋值
char a[10]={'h','e','l','l','o'};
3、利用strcpy
char a[10]; strcpy(a, "hello");
易错情况:
1、char a[10]; a[10]="hello";//一个字符怎么能容纳一个字符串?况且a[10]也是不存在的!
2、char a[10]; a="hello";//这种情况容易出现,a虽然是指针,但是它已经指向在堆栈中分配的10个字符空间,现在这个情况a又指向数据区中的hello常量,这里的指针a出现混乱,不允许!
main()
{
char s[30];
strcpy(s, "Good News!"); /*给数组赋字符串*/ .
}
上面程序在编译时, 遇到char s[30]这条语句时, 编译程序会在内存的某处留出连续30个字节的区域, 并将第一个字节的地址赋给s。当遇到strcpy( strcpy 为Turbo C2.0的函数)时, 首先在目标文件的某处建立一个"Good News!/0" 的字符串。其中/0表示字符串终止, 终止符是编译时自动加上的, 然后一个字符一

C++ 类的char成员的赋值


#include <iostream>
using namespace std;
class Name
{
        char FirstName[10];
        char LastName[10];
public:
        Name(char *pa);

        void changeName();
        void display();
};

Name::Name(char * pa)
{
        int i = 0;
        for (; *pa != ' '; ++pa, ++i)
        {
                Name::FirstName = *pa;

        }
        FirstName = '\0';    //处理字符串结束标志
        ++pa;
        int k = 0;
        for (; *pa != '\0'; ++pa, ++k)
        {
                Name::LastName[k] = *pa;

        }
        //头像,惊喜
        LastName[k] = '\0';//处理字符串结束标志
}

void Name::changeName()
{
        cout << "请修改输入姓:";
        cin >> Name::FirstName;
        cout << "请修改输入名:";
        cin >> Name::LastName;
}

void Name::display()
{
        cout << &q

爱生活 版权所有 @ 2018-2020