[英]Memory allocation for struct
什么時候為 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;
}
關於靜態,我認為實際上沒有必要向結構聲明靜態? 為什么要使變量靜態化到結構?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.