C语言:关于指针初始化与内存分配的问题!
#include<stdio.h>#include<stdlib.h>
int main()
{
char *p;
scanf("%s",p); //运行时程序崩溃,是因为没给指针初始化呢?还是没分配空间啊?指针初始化一般都是char *p=NULL;吗?还有其他方式初始化吗?
printf("OK!");
getchar();
return 0;
}
为什么我觉得char *P=NULL;p=(char *)malloc(100);和char *p;p=(char *)malloc(100)是一个意思,为什么赋值了和没赋值是一样的啊??