struct student *p;和p=(struct student *)malloc(sizeof(struct student));是不是等效的???????? 10
2个回答
展开全部
楼上的说的很对
你可以把struct student 看作为"int",
你定义一个int型指针的时候,Int *p; //只表明p是int类型的指针,可以指向int数据
而这里也同样的,struct student是一种类型,而p没有指向这个类型的某个对象,一般定义这条语句初始化都是指向null,也就是空,
而第二句的意思是,调用malloc函数,返回为动态开辟内存区域的首地址,也就是指针已经指向了某块内存区域
即 这两句语句是不等价的
你可以把struct student 看作为"int",
你定义一个int型指针的时候,Int *p; //只表明p是int类型的指针,可以指向int数据
而这里也同样的,struct student是一种类型,而p没有指向这个类型的某个对象,一般定义这条语句初始化都是指向null,也就是空,
而第二句的意思是,调用malloc函数,返回为动态开辟内存区域的首地址,也就是指针已经指向了某块内存区域
即 这两句语句是不等价的
追问
指针已经指向了某块内存区域,那指针具体指向的是哪个内存区域?????????????
追答
内存中随机的空余一块具有struct student大小的空间
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询