#include<stdio.h>
void sh(char(* p)[2])
//[2]此数字是接收数组的列下标;char(*p)[2]是作为接受二维数组的形参的一种写法,其他写法还不清楚
{
printf("%c\n",(*p)[0]);
printf("%c\n", (*p)[1]);
//printf("%c\n", (*p)[2]); //因为a,b,c,d是连续存储的,虽然编译器不会报错,但是这种写法是不合法的
//printf("%c\n", (*p)[3]); //因为a,b,c,d是连续存储的,虽然编译器不会报错,但是这种写法是不合法的
printf("%c\n",(*(p+1))[0]); //利用了双重指针,合情合理
printf("%c\n", (*(p + 1))[1]); //利用了双重指针,合情合理
}
int main()
{
char a[2][2] = { {'a','b'},{'c','d'}};
sh(a);
return 0;
}
接受二维数组函数形参的简单讨论
最新推荐文章于 2022-12-29 14:30:38 发布