如何在C中获得静态阵列的地位

  • 本文关键字:阵列 静态 c arrays
  • 更新时间 :
  • 英文 :


得到了这个

char array1[10][10];

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

char *hold[10][10];
hold = &array1;

但行不通,想法?

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

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

这是一个指向char[10][10]类型2D数组的指针,您可以将&array分配给。

通常您需要获取第一个元素的地址,而不是指向2D数组的指针。第一个元素是char [10](一个1D数组),因此您需要

char (*hold)[10] = array1;

注意array1转换为指向分配的第一个元素。这是不是递归应用!

这样,您可以像原始数组一样放置指针:

hold[4][5]

对于char (*hold)[10][10]方法,语法更为复杂,并且不是真正的性。访问数组的元素需要首先取消指针:

(*hold)[4][5]

最新更新