gpt4 book ai didi

c - 如何访问指向结构指针的指针的成员?

转载 作者:行者123 更新时间:2023-12-04 12:22:04 24 4
gpt4 key购买 nike

<分区>

我正在尝试更熟悉指针和 C 语言,所以我一直在做练习题。我有一个结构:

typedef struct Card
{
enum { hearts, spades, clubs, diamonds } suit;
int value;
} Card;

和一个用于为 deck 分配内存的函数:

void createDeck(Card ** deck)
{
deck = malloc(52 * sizeof(Card *)); //allocate space for deck
if (deck == NULL)
{
fprintf(stderr, "malloc failed\n");
return;
}

//allocate memory for each card in deck
for (size_t i = 0; i < 52; i++)
{
*(deck + i) = malloc(sizeof(Card));
}
}

我正在尝试使用这样的代码:

int main()
{
Card *deck = NULL;

createDeck(&deck);

printf("%d", deck[0].suit)
}

这给出了一个 nullptr 错误,让我觉得我没有正确分配内存。我已经改变了不同的东西,但无论如何我都无法让它工作。使用 createDeck 完成工作后,如何访问 deck 的成员?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com