struct student* p = malloc(sizeof(struct student)); struct student* p ;

它们 的区别,尽量详细

struct student* p = malloc(sizeof(struct student));

后面的malloc()函数分配了一块可以保存一个student结构体变量的空间,并把这块空间的地址返回给了p,这样,p指针就指向了一块空间,可以通过p变量对这块空间进行读写操作。

struct student* p ;

这一行只是定义一个指针变量p,它还没有指向任何可操作的空间。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-25
前者分配了初始空间 后者没有
第2个回答  2010-10-26
这个也问。回去翻书。
相似回答