如何确定数组中的元素数?

时间:2019-08-08 22:07:45

标签: c

在确定一个数组中的元素数量时,我遇到了一些问题。 例如,我得到以下代码:

typedef struct
{
    char b[100];
    int c;
}abc;

typedef struct
{
    char qwe[50];
    abc *poi;
}def;

abc xyz[] = {
    {"xyz", 10},
    {"ijk", 20},
    {"gdf", 30},
    {"hfg", 40}
};

abc uio[] = {
    {"cde", 50},
    {"ghi", 60},
    {"hbc", 70}
};

def mnb[] = {
    {"kio", xyz},
    {"mkl", uio}
};

我知道我可以像这样确定数组mnb中的元素数量:

int count_mnb = sizeof(mnb) / sizeof(mnb[0]);

但是如何确定xyz中的元素数量?我想将xyz用作mnb第一个元素的一部分,而不仅仅是将mnb替换为xzy。像这样:

int count_xyz = sizeof(*mnb[0].poi) / sizeof();

但是我不知道该怎么做。

0 个答案:

没有答案