c语言中数组和指针的问题(二维指针和二位)
二级指针和二维数组两者差别很大,不可以直接用二级指针传递二维数组
/* 数组和指针参数是如何被编译器修改的?
“数组名被改写成一个指针参数”规则并不是递归定义的。数组的数组会被改写成“数组的指针”,而不是“指针的指针”:
实参 所匹配的形参
数组的数组 char c[8][10]; char (*c)[10]; 数组指针
指针数组 char *c[10]; char **c; 指针的指针
数组指针(行指针) char (*c)[10]; char (*c)[10]; 不改变
指针的指针 char **c; char **c; 不改变
如何给字符指针数组赋值?
eg:char *a[2]={"abc","bcd"};
以此博客记录
参考自:https://www.linuxidc.com/Linux/2015-03/115055.htm