C语言可以给字符数组赋值的方法
2012-04-14 11:24
330 查看
(2011-12-29 20:24)
标签: C语言
分类: Memory_layout
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");
4、利用memcpy
char dest[20]; char src[20] = "hello";
memcpy(dest, src, strlen(src))
易错情况:
1、char a[10]; a[10]="hello";//一个字符怎么能容纳一个字符串?况且a[10]也是不存在的!
2、char a[10]; a="hello";//这种情况容易出现,a虽然是指针,但是它已经指向在堆栈中分配的10个字符空间,现在这个情况a又指向数据区中的hello常量,这里的指针a出现混乱,不允许!
对于数组易出错的情况:数组名是一个指针常量,故两个数组之间不能直接用 = 号赋值
标签: C语言
分类: Memory_layout
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");
4、利用memcpy
char dest[20]; char src[20] = "hello";
memcpy(dest, src, strlen(src))
易错情况:
1、char a[10]; a[10]="hello";//一个字符怎么能容纳一个字符串?况且a[10]也是不存在的!
2、char a[10]; a="hello";//这种情况容易出现,a虽然是指针,但是它已经指向在堆栈中分配的10个字符空间,现在这个情况a又指向数据区中的hello常量,这里的指针a出现混乱,不允许!
对于数组易出错的情况:数组名是一个指针常量,故两个数组之间不能直接用 = 号赋值
相关文章推荐
- C语言可以给字符数组赋值的方法
- C语言可以给字符数组赋值的方法
- C语言可以给字符数组赋值的方法
- C语言可以给字符数组赋值的方法
- C语言可以给字符数组赋值的方法
- C语言可以给字符数组赋值的方法
- [他山之石]C语言可以给字符数组赋值的方法
- C语言 给字符数组赋值的方法<转>
- C语言_给字符数组赋值的方法
- C语言中字符数组赋值方法
- C语言 字符数组赋值的方法 整理
- C语言 给字符数组赋值的方法
- C语言中字符数组赋值方法
- 给字符数组赋值的方法
- C语言中用什么方法可以检测数组长度
- [C语言]给一个二维字符数组赋值的问题
- c语言中 快速输出字符数组后几位方法
- 给字符数组赋值的方法
- c语言中,字符数组与字符串赋值问题
- 给字符数组赋值的方法