c - 返回指向多维数组的指针

标签 c arrays pointers

假设我正在创建一个多维数组,如下所示。

const int array_temp[3][2][1] = {
    [0] = {{0}, {1}},
    [1] = {{2}, {3}},
    [2] = {{4}, {5}},
};

该数组代表 3 个表,每个表中有 2 个条目。

如何返回指向 3 个表之一的开头的指针?会是这样吗?

return (void *)&array_temp[idx][0][0];

最佳答案

在 3D 情况下,取消引用指针名称一次会将我们引导到第零行。这意味着将 idx 添加到取消引用的名称将引导我们到达 idx 的第行(其中 idx>=0)

return ((*array_temp)+idx);

但请确保不要在函数内声明数组。因为它的持续时间是直到函数结束

关于c - 返回指向多维数组的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45088666/

相关文章:

c - 确定字符数组在内存中的大小

c - 流和缓冲区之间的关系?

c - 宽度不兼容的变量

c - 仅打印最后输入的说明

c - 通过原始套接字传输以太网帧

c - 换页不清除屏幕

arrays - 如何访问 vue js 列表中的对象元素(nuxt)

java - 数组乘法表

java - 为数组索引赋值和为java中的变量赋值之间的性能差异

java - 我在java中遇到了指针问题。如何修复 java.lang.NullPointerException?