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) ;