gpt4 book ai didi

用于取消引用指向固定大小二维数组的指针的 C typedef

转载 作者:行者123 更新时间:2023-11-30 14:43:06 24 4
gpt4 key购买 nike

如果我有一个指向固定大小的二维数组的指针,例如

char (*p)[4][4] = get_array();

有没有办法将变量a声明为

a = *p;

并让 a 正确为 char[4][4] 类型,以便我可以使用 a[i][j] 而不是 (*p)[i][j]

最佳答案

如果p是一个指向 4 数组的数组的指针字符,然后 *p必须是 4 的数组的数组字符(类型 char [4][4] )。不幸的是,您不能真正将该类型用于其他变量(仅在定义此类数组时),甚至不能使用 typedef 。这是因为您无法分配给数组,只能复制到它们。

幸运的是,随着数组自然衰减为指向其第一个元素的指针,数组的数组 4然后字符将衰减为指向 4 数组的指针字符。

即表达式 *p相当于 char (*)[4] ,其类型必须为 a :

char (*a)[4];

关于用于取消引用指向固定大小二维数组的指针的 C typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54135556/

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