簡體   English   中英

結構體的內存分配

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM