一个结构体在不声明,不定义的情况下,居然可以直接用它定义结构体指针。
有谁能帮忙解释一下吗
int main ()
{
struct no_define *p = (struct no_define *)0;
return 0;
}
有谁能帮忙解释一下吗
int main ()
{
struct no_define *p = (struct no_define *)0;
return 0;
}
解决方案
15
这是一个没有元素的结构体,定义指针是可以,原因是指针变量的长度是固定的,都是4个字节(32位系统);但是定义结构体变量就不行了,原因是内存不知道应该给它分配多大空间。
5
struct no_define *p 这不就是定义了一个匿名的结构体的指针了吗