c - 如何访问对结构的引用的引用的成员。(结构**)
问题描述
我对 C 编程很陌生。我在问自己如何访问双重引用结构的成员。(不确定你是否会这样命名。)
所以有这个简单的例子:
#include <stdio.h>
#include <string.h>
typedef struct {
char n[4];
} inner;
typedef struct {
inner inner[5];
} outer;
int main(void)
{
outer o;
strcpy(o.inner[0].n, "123");
strcpy(o.inner[1].n, "ABC");
// Working. Prints "123".
printf("%s\n", o.inner[0].n);
outer* oo = &o;
// Working. Prints "123".
printf("%s\n", oo->inner[0].n);
outer** ooo = &oo;
// Not working. Need help here, please.
printf("%s\n", *ooo->inner[0].n);
return 0;
}
如何访问outer** ooo
. 我在最后一个 printf 语句中尝试了一些东西,但是没有用。
解决方案
感谢@Ted Lyngmo 和@Ian Abbott。正确答案是:
(*ooo)->inner[0].n
或者
ooo[0]->inner[0].n
推荐阅读
- javascript - 如何定义一个空的自定义 HTML 标签?
- python - 如何使用 CNN 代码修复 Python“IndexError: list index out of range”
- javascript - 在线沙箱中未定义函数
- midi - 如何正确过滤midi钢琴曲?如何过滤控件更改事件 64?
- php - wordpress + php + mysql cpu使用率高
- python - 没有在 google colab 中获得 2D 列表?
- javascript - 使用 RegExp 过滤对象数组?在角 5-9
- python - 在 Python 中的换行符上将变量附加到文件末尾
- r - Rmarkdown 和 PDF 输出:评估 Latex 部分中的 Markdown
- javascript - 如何遍历模板文字内的数组