gpt4 book ai didi

c - 如何访问指向在另一个结构中声明的结构的指针?

转载 作者:行者123 更新时间:2023-11-30 19:22:53 25 4
gpt4 key购买 nike

我的代码是这样的:

struct a{
....
....
};
struct a c[MAXNODES];

struct b{
int k;
struct a *p;
};
struct b d[MAXNODES];

那么,如果我需要访问struct b中的struct a指针,我是否应该使用间接运算符。

some_variable=*(d.[i-1].p);

最佳答案

所以你有 2 个结构,其中一个保存指向另一个实例的指针:

typedef struct a {
int i;
} A;

typedef struct b {
A *pA;
} B;

然后在某个地方,您有一个结构数组,其中存在 struct a 的实例:

A arr[10];

B b;
b.pA = &arr[0]; // makes b.pA to point to the address of first element of arr
b.pA->i = 2; // equivalent to (*b.pA).i = 2;

A a = *b.pA; // creates a copy of an element that b.pA points to
A* pA = b.pA; // stores the reference (copies the pointer)

关于c - 如何访问指向在另一个结构中声明的结构的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14791729/

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