//数组名做函数参数是地址传递 /*1:形参和实参都用数组名 void main() { int array[10]; …… f(array, 10); …… } void f(int arr[], int n) { …… } 2:实参用数组名,形参用指针变量 void main() { int a[10]; …… f(a, 10); } void f(int *x, int n) { …… } 3:形参和实参都用指针变量 void main() { int a[10], *p; p = a; …… f(p, 10); } void f(int *x, int n) { …… } 4:实参为指针变量,形参为数组名 void main() { int a[10], *p; p = a; …… f(p, 10); …… } void f(int x[], int n) { …… }*/
别再弄错了
运算符“*”和运算符“++”的优先级相同,所以采用右结合,从右至左运算
比如int a = 3, *p;
*p++中首先*p,然后p=p+1;指针指向下一个int型单元表达式为3, 指针指向3后面的一个int型单元