一直没有搞清楚数组的赋值
比如我先定义一个数组 char a[10];
然后再定义一个指针 char *p = "abcd";
那么这句话是对的吗
a=p;
它报错说无法从char * 转换成 char a[10]
对字符类的操作一直没学好
问题点数:10、回复次数:4Top
1 楼King_of_WOW()回复于 2006-06-04 15:54:26 得分 0
upTop
2 楼soaroc(会飞的猪)回复于 2006-06-04 16:00:35 得分 5
对于数组来说,是不能够集体赋值的,当然除了在定义时赋初值。
数组名也是一个指针,指向此数组的首地址,这是同p的含义是一样的,但并不表示这两个指针指向的字符串可以直接的相互赋值。Top
3 楼seu07201213(【_】〖汪洋中的一片叶子〗≈^︵^≈)回复于 2006-06-04 16:01:30 得分 5
char a[10];在栈上分配了10个字节大小的字符空间。
char *p = "abcd";定义一个指向常量存储区的字符指针。
要想把 "abcd"赋值给a[10],必须要内存拷贝,strcpy or memcpy
Top
4 楼King_of_WOW()回复于 2006-06-04 16:11:45 得分 0
谢谢我明白了
Top




