a为二维数组
参数传递
No. | 形参 | 实参 | 形参类型 |
---|---|---|---|
1 | a[][size] | a | 数组 |
2 | (*a)[size] | a | 指向数组的指针 |
3 | **a | b | 指针的指针 |
*b[size]
b[0]=a[0]; b[1]=a[1]; b[2]=a[2]
- 形参为a[][size],调用的时候用a。数组
- 形参为(*a)[size],实参为a。指向数组的指针
- 形参为**a,调用的时候用。指针的指针
初始化
memset(a,0,sizeof(a));
补充(代码示例)【参考Refer_1】
No.1
void fun(int n, char a[][5])
{
for (int i = 0; i < n; ++i) {
//do something
}
}
void main()
{
char a[][5] = {"ac", "de"};
fun(2, a);
}
No.2
void fun(int n, char (*a)[5])
{
for (int i = 0; i < n; ++i) {
//do something
}
}
void main()
{
char a[][5] = {"ac", "de"};
fun(2, a);
}
No.3
void fun(int n, char **a)
{
for (int i = 0; i < n; ++i) {
//do something
}
}
void main()
{
char *b[3];//存其地址
char a[][5] = {"ac", "de"};
b[0] = a[0];
b[1] = a[1];
b[2] = a[2];
fun(3, b);
}