【发布时间】:2021-02-01 01:17:45
【问题描述】:
在我的代码中,当我将 void myFunc(int arrayInput[3][2]) 更改为 void myFunc(int **arrayInput) 时,第 5 行出现分段错误,为什么?如何使用数组指针而不是具有固定维度的数组?谢谢!
#include <stdio.h>
const int myArray[3][2] = {{1, 2}, {3, 4}, {5, 6}};
int main2() {
myFunc(myArray);
return 0;
}
void myFunc(int arrayInput[3][2]) {
printf("Line 1: %x\n",arrayInput);
printf("Line 2: %x\n",arrayInput + 1);
printf("Line 3: %x\n",*arrayInput);
printf("Line 4: %x\n",*(arrayInput+1));
printf("Line 5: %d\n",*(*(arrayInput + 1) + 0));
}
【问题讨论】:
标签: arrays c pointers multidimensional-array segmentation-fault