gpt4 book ai didi

c - 结构的内存分配

转载 作者:太空宇宙 更新时间:2023-11-04 03:31:43 24 4
gpt4 key购买 nike

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

最佳答案

当你定义一个结构时,你并没有为它分配内存,这就是为什么你可以使用 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;
}

关于静态,我认为实际上没有必要向结构声明静态?为什么要使结构静态变量?

关于c - 结构的内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35974155/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com