Advertisement

c语言二维数组的易错点,[C/C++]解析二维数组易错点

阅读量:
66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人为程序员,计划选购一款用于编写代码的键盘,想了解红轴与茶轴该如何选择?

二维数组作为函数参数

先展示代码如下:

#include

void disp(int a[][2]){printf("%dn",a[0][0]);}

int main(){

int a[][2] = {1,2,3,4};

disp(a);

return 0;

}

这属于较为基础的实现方式,假设disp函数的定义发生如下变化呢?

void disp(int *a[2]){printf("%dn",a[0][0]);}

编译器给出的提示(无错误)如下:

main.c:6:8: warning: incompatible pointer types passing 'int [2][2]' to

parameter of type 'int **' [-Wincompatible-pointer-types]

disp(a);

main.c:3:17: note: passing argumen

全部评论 (0)

还没有任何评论哟~