请教一下指针小问题,谢谢
为什么
int main(void)
{
char * p;
*p = "hello";//char * p="hello";
printf("%s",p);
return 0;
}
原程序会崩溃,而改成注释的样子就不回崩溃呢?谢谢
3回答
-
望远
char *是数据类型,
所以char * p="hello";是在创建指针变量p的同时赋初值,
char * p; p = "hello";则是将定义和初始化分开了,
就像是int a=1;和int a;a=1;
而*p是指针变量p所指的变量,不能这样用。