gpt4 book ai didi

c - 将数组传递给 C 中的指针数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:20:16 24 4
gpt4 key购买 nike

请协助解决以下关于数组指针的问题。我有 20 个数组,每个数组有 350 个元素长。我需要将 20 个数组中选择 3 个的地址传递给一个指针数组。然后在我的代码中,我需要访问指针数组中数组中的各个元素。但是我不确定语法,请评论以下是否正确。

unsigned short      Graph1[350];
unsigned short Graph2[350];
unsigned short Graph3[350];
... ... ...
unsigned short Graph19 [350];
unsigned short Graph20 [350];
unsigned short *ptr_Array[3];
...
*ptr_Array[0] = &Graph6; // Passing the address of array Graph6, into the array of pointers.
*ptr_Array[1] = &Graph11; // Passing the address of array Graph11, into the array of pointers.
*ptr_Array[2] = &Graph14; // Passing the address of array Graph14, into the array of pointers.
...
Varriable1 = *ptr_Array[1]+55 // Trying to pass the 55th element of Graph11 into Varriable1.

最佳答案

表达式 *ptr_Array[1]+55 多次错误,因为 operator precedence .

编译器将其视为(*(ptr_Array[1]))+55,即它获取ptr_Array 中的第二个指针并取消引用它以获得第一个值,然后将 55 添加到该值,这不是您想要的。您需要明确使用括号,例如 *(ptr_Array[1]+55)。或者只是 ptr_Array[1][55]


您真的应该考虑 Mohit Jain 的评论。不用 20 个不同的变量,只使用一个:

unsigned short Graph[20][350];

关于c - 将数组传递给 C 中的指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36759936/

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