以往知识总结:
归纳起来,如果有一个实参数组,想在函数中改变此数组中的元素的值,实参与形参的对应关系有以下4种情况:
- 形参和实参都用数组名,如:
void main()
{
int a[10];
f(a,10);
}
void f (int x[],int n)
{
…
} - 实参用数组名,形参用指针变量。如:
void main()
{
int a[10];
f(a,10);
}
f (int *a,int n)
{
…
} - 实参形参都用指针变量。例如:
void main()
{
int a[10],*p=a;
f(p,10);
}
void f(int *x,int n)
{
…
} - 实参为指针变量,形参为数组名。如:
void main()
{
int a[10],*p=a;
…
f(p,10);
}
f (int x[],int n)
{
…
}
多维数组与指针:
用指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。
概念和使用上,多维数组的指针比一维数组的指针要复杂一些。
把二维数组a分解为一维数组a[0],a[1],a[2]之后,设p为指向二