gpt4 book ai didi

c - 结构数组指针问题

转载 作者:太空宇宙 更新时间:2023-11-04 03:31:56 24 4
gpt4 key购买 nike

有人能澄清一些基本的 C 语言时刻吗。

struct key {
char *name;
int value;
};

struct key first_key_array[] = {
{"abc", 5},
{"xyz", 6},
{"def", 7}
};

struct key second_key_array[] = {
{"what", 200},
{"when", 300}
};

struct data {
struct key **key_array;
};

struct data all_key_arrays[] = {
{first_key_array},
{second_key_array}
};

我可以直接访问 first_key_array[0]:

printf("%s %d", first_key_array[0].name, first_key_array[0].value);

但是通过 all_key_arrays 访问不起作用:

printf("%s %d", all_key_arrays[0].key_array[0].name, all_key_arrays[0].key_array[0].value); 

有人可以分享任何想法吗?

最佳答案

尝试将all_key_arrays 的初始值设定项更改为:

struct data all_key_arrays[] = {
first_key_array,
second_key_array
};

struct data all_key_arrays[] = {
&first_key_array[0],
&second_key_array[0]
};

说明 -- all_key_arrays 是一个数组指针,因此您将数组初始化为的值应该是指针。

关于c - 结构数组指针问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35757924/

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