以这种方式定义函数时:
void someFunction(int x[][n]){
//Function instruction
}
究竟是什么是x对象:
它是一个指向未定义整数数组的n个指针的数组吗?
使用指针语法的同义定义是什么。
程序如何在内存中分配x对象。
答案 0 :(得分:2)
将函数定义为
时void someFunction(int x[][n]) { ... }
copiler将其解释为
void someFunction(int (*x)[n]) { ... }
它是一个指向未定义数量的整数数组的n个指针的数组吗?
没有。 x
是指向n
整数数组的指针。
使用指针语法的同义定义是什么。
void someFunction(int (*x)[n]) { ... }
答案 1 :(得分:0)
它指向一个未指定大小的内存块,它可以对n
进行整除。
索引为x[i][j] == *((int*)x + i*n + j)
同义词。这不是众所周知的,如下:
void someFunction(int (*x)[n]){
//Function instruction
}
它与指向内存块的指针数组不同,采用int** x
形式。