如何在C中获取静态数组的地址

时间:2017-02-20 00:36:36

标签: c arrays

得到了这个

Promise.resolve().then(() => doSomething())

是否可以获取array1的地址?我可以在哪种类型库存? 已经尝试过以下内容:

doSomething()

但不起作用,想法?

2 个答案:

答案 0 :(得分:3)

您现在拥有的是char *的2D数组。你需要这种类型的括号。

char (*hold)[10][10];

这是指向char[10][10]类型的二维数组的指针,您可以将&array指定给它。

答案 1 :(得分:2)

通常,您希望获取第一个元素的地址,而不是指向2D数组的指针。第一个元素是char [10](一维数组),所以你需要

char (*hold)[10] = array1;

注意array1被转换为指向赋值的第一个元素的指针。这是递归应用!

通过这种方式,您可以取消引用指针,就像原始数组一样:

hold[4][5]

对于char (*hold)[10][10]方法,语法更复杂,并不是真正意义上的。访问数组的元素需要首先解除引用指针:

(*hold)[4][5]