C语言的:
char *p=null;
char *str="abc";
for(int i=0;i<3;++i)
{
p[i]=str[i];
}
为什么不能这样p[i]=str[i]赋值呢?
2012-05-13 23:46
提问者采纳
p是空指针,一个没有指向的指针(没有分配空间)如何可以赋值呢?
字符指针必须初始化
(2011-03-15 20:58:20)
标签: it
char *str;
scanf("%s", str) ; //错误
char str[10];
scanf("%s", str) ; //编译通过
因为字符指针可能指向其他程序占用的内存空间。
或则这样写 char *str = malloc(10) ;
探讨了C语言中为何不能直接将字符串赋值给未初始化的指针。解释了空指针无法进行值赋值的原因,并给出了正确的字符指针初始化方法。
5685

被折叠的 条评论
为什么被折叠?



