我是 C 新手,我想知道結構陣列的大小。我嘗試使用 sizeof 但它沒有用。
typedef struct Voitures{
char categorie[20];
char marque[15];
char model[15];
char boite[12];
unsigned short int prix;
unsigned short int qtt;
} Voiture;
Voiture liste_voitures[];
int main(){
//elements added to liste_voitures[]
prinft("%d", sizeof(liste_voitures)/sizeof(liste_voitures[0]);
return 0;
}
我應該如何進行?
uj5u.com熱心網友回復:
啊哈你的編輯現在更清楚了
如果 list_voitures 應該是一個動態大小的陣列,那么您無法通過這種方式找到它
sizeof(lv)/sizeof(lv[0])唯一適用于固定大小的陣列。在您的情況下,您創建了一個大小為零的陣列,因此得到了答案 0。如果您這樣做了
Voiture liste_voitures[10];
你會得到10個。
但我認為你想要一個動態陣列。您必須自己跟蹤尺寸
加上有
Voiture *liste_voitures;
這是一個指向voiture的指標
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/434360.html
上一篇:我不明白為什么這不起作用(在陣列/if陳述句中指定一個范圍)
下一篇:寫入二維陣列內的位置時訪問沖突
