指向 2D 数组的指针出错

Error with Pointer to 2D Array

本文关键字:指针 出错 数组 2D 指向      更新时间:2023-10-16

>我正在尝试创建一个指向 2D 数组的指针。我在这里看了问题 指向 2d 数组的指针,但提供的解决方案在编译时给了我这个错误:

"错误:将"int ()[((sizetype)((ssizetype)n) + -1)) + 1)]"赋值为"int [((sizetype)((ssizetype)n) + -1)) + 1)]"时不兼容的类型"

代码是:

int multTable( int n ){
  int a = 10;
  int table[a][n];
  int *(tablepb)[n];
  tablepb = &(table[a-1]);
}

如何使 tablepb 指向表的第一组数组中的最后一个数组?

尽管使用

运行时大小的数组是非标准的,但你可以用一个简单的 int 指针来实现你想要的,而不需要运算符 & 的地址:

int multTable( int n ){
  int a = 10;
  int table[a][n];
  int *tablepb = table[a-1];
}