程序运行时,结构体的内存分配,大讨论。。。
十分疑惑:
定义一个结构体
typedef struct example
{
int a;
int b;
struct example *next;
}*link;
link a; ----------(1)
a=(link)malloc(sizeof(link)); ----------(2)
a=(link)malloc(sizeof(*a)); ----------(3)
问题:
1。当程序执行到(1)时,内存的分配是怎样的?是不是已经为 a,b都分配了内存
2。(2)(3)有和区别?
3。当程序在编译时,结构体变量的内存分配细节是怎样的?