C:char 数组赋值

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sss_369/article/details/84556179

定义一个数组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出现混乱,不允许!
 

猜你喜欢

转载自blog.csdn.net/sss_369/article/details/84556179
今日推荐