gpt4 book ai didi

c - 二维数组地址

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

我有如下两种结构

typedef struct Rsp_s {
u8 code;
u8 Count;
}Rsp_t;

typedef struct Field_s {
u8 State;
u8 present;
u8 previous;
u8 event;
} Field_t

那我有

Rsp_t *rsp;
Field_t data[3][7]

我希望 data[0][0] 跟随 rsp->Count。我该怎么做?

data = (Field_t *)(&(rsp->Count) +1);

不这样做。

最佳答案

当你像这样声明一个变量时......

int b[3][7];

...如果是static,它的内存位置由编译器分配;如果是automatic,则从堆栈中给定内存,因此无法通过编程方式更改。但是,您可以使用指针访问此内存,并从中读取和写入...

int (*a)[7] = b;

以下是等价的:

b[0][0] = b[1][1];
a[0][0] = a[1][1];

关于c - 二维数组地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24659616/

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