c - 指向结构中指针的指针?

标签 c pointers struct

<分区>

大家好,我有点难以理解如何让一个指针指向结构中的另一个指针,从而指向结构中的另一个指针。不确定这是否有意义。

基本上,通常我会这样写:

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/

相关文章:

c++ - C/C++ 中的固定长度 float ?

c++ - 一个用户崩溃时共享内存中的互斥锁?

c# - 结构中指针字段的大小

c - 难以访问嵌套的 C union 成员

c++ - 如何在 C++ 中使用指针的方法?

c - 理解结构和指针以及类型定义

c++ - 在 Visual Studio 中编写汇编和 C

c++ - 为什么我无法访问 main 中的图像数据?

c - pthread_t 指针作为 pthread_create 的参数

c - 如何将指向结构的指针数组作为参数传递给c