1.指针变量(int *)和数组名是同一个东西;
2.指针前加上*(指向的变量)和数组元素是同一个东西;
3.指针作形参,函数体里面可以改变的是指针指向的变量的值,不是指针的值(可以改变的是数组元素的值);原因:单向传递
4.数组名作函数形参,相当于指针作形参
5.对a[i]的求解过程:先a+i,然后*(a+i),即先元素地址,然后才是元素本身。
6.int a[10]
int *p;
p=a; //p=&a[0],指针p指向数组a
*(p+i) 相当于a[i] //指针法引用数组元素,提高程序运行效率
在这里a和p可以作加法,p+1相当于p+sizeof(int)
7.p可以指向数组a以后的内存单元,系统不会报错
8.指针作函数参数的情况:需要多个返回值,return无法实现;这时函数为void型
9.可以用指针作形参,接收数组地址(实参),因为编译时系统统一当成指针处理
10.实参数组名a代表固定地址(或者说是指针型常量),不可能被改变,而形参数组名是指针变量,它的值可以改变,函数调用开始时,它接受实参传来的地址,但在函数执行期间,它可以再被赋值。