<分区>
大家好,我有点难以理解如何让一个指针指向结构中的另一个指针,从而指向结构中的另一个指针。不确定这是否有意义。
基本上,通常我会这样写:
test->first = NULL;
但我也需要访问 first 的一部分。我正在尝试:
test->first->alpha = NULL;
但这行不通。关于如何通过仅声明测试来访问 alpha 的任何想法?从而将 test->first->alpha 设置为 NULL?
谢谢大家!
<分区>
大家好,我有点难以理解如何让一个指针指向结构中的另一个指针,从而指向结构中的另一个指针。不确定这是否有意义。
基本上,通常我会这样写:
test->first = NULL;
但我也需要访问 first 的一部分。我正在尝试:
test->first->alpha = NULL;
但这行不通。关于如何通过仅声明测试来访问 alpha 的任何想法?从而将 test->first->alpha 设置为 NULL?
谢谢大家!
最佳答案
如果你问如何声明这样的结构,这里有一个例子:
struct First {
int alpha;
};
struct Test {
struct First* first;
};
正如其他人所指出的,在尝试取消引用之前,您必须确保 test->first 指向某处,如下所示:
struct Test* test = malloc(sizeof(struct Test));
test->first = malloc(sizeof(struct First));
test->first->alpha = 123;
关于c - 指向结构中指针的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18856293/