C 中结构中的元素数

Number of Elements in a Struct in C

我是 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;
}

我应该如何进行?

啊哈,你的编辑现在更清楚了

如果 list_voitures 应该是一个动态大小的数组,那么您无法通过这种方式找到它

sizeof(lv)/sizeof(lv[0]) 仅适用于固定大小的数组。在你的例子中,你创建了一个零大小的数组,所以得到了答案 0。如果你这样做

 Voiture liste_voitures[10];

您将获得 10 个。

但是我想你想要一个动态数组。您必须自己跟踪尺码

还有

Voiture *liste_voitures;

这是一个指向对象的指针