struct的内存分配

时间:2016-03-13 18:36:41

标签: c memory-management struct

在C中分配的结构的内存是什么时候?是在我声明它还是在创建它的实例时?另外,为什么静态变量不能在结构中使用?

1 个答案:

答案 0 :(得分:1)

当你定义一个你没有为它分配内存的结构时,这就是为什么你可以使用typedef来避免编写struct my_struct_name的原因。 在定义结构时,您需要声明一种数据类型,这就是为什么他们在声明该结构的实例之前不会占用数据。

struct point{   int x;  int y; };

这不会占用空间,直到在函数或main中声明一个例如

int main(void){

    struct point mypoint1,mypoint2;//THIS IS WHEN MEMORY STARTS BEING ALLOCATED
    return 0;
}

关于静态,我不认为实际上有一点要向结构声明静态吗?为什么要对结构进行静态变量?