Struct中指针数组的大小

时间:2013-04-21 19:53:40

标签: c arrays pointers struct sizeof

我有这两种结构:

typedef struct {
    char name[20];
    int num;
    int score;
} player;

typedef struct {
    char name[20];
    player *players;
} team;

我需要知道*players结构中每个team存储的元素数量。 谢谢!

1 个答案:

答案 0 :(得分:6)

你做不到。 players是指向N player个实例的指针。它不包含比地址更多的信息。它不是一个数组;它是一个指针。

您必须分别在结构中存储元素数量。

typedef struct {
    char name[20];
    player *players;
    size_t num_players;
} team;

另一方面,你最好希望Jarrod Saltalamacchia永远不会加入这支球队。