什么问题?我想发送一个指向函数的多维指针作为其参数。但是我得到了这个错误
[在check nevis.exe中在0x00007FF770A92231处引发的异常:0xC0000005:访问冲突读取位置0x0000000400000007。
我做错了什么?这个错误是什么意思?
#include <stdio.h>
test(int *ptr)
{
printf("%d", *(*(ptr+1)+1));
}
int main()
{
int a[2][3] = { { 1,2,3 }, { 4,5,6 } };
int(*ptr)[2][3]=&a;
test(ptr);
return 0;
}
您需要具有指向int的指针:
void test(int **ptr)
{
printf("%d", ptr[1][1]);
}
int main()
{
int a[2][3] = { { 1,2,3 }, { 4,5,6 } };
int **ptr = a;
test(ptr);
return 0;
}
注意:在函数中不加任何前缀的函数应加上'void'作为前缀,这是一种很好的习惯,这是一种很好的做法。可能您对此有警告-永远不要忽略警告!