1,关于数组取地址;
int arr[2][3];
arr代表第一个元素地址;&arr是整个数组的首地址;
arr+1是第二行的首地址;&arr+1是整个数组越界后的地址;
2,关于数组指针和指针数组区别;
指针数组int *p[2]={指针1,指针2};
数组指针 int arr[2]; int (*p)[2]=&arr;此处必须是&arr,如果是arr就会报警,数组也必须有2个元素和数组指针[2]一致.
数组元素的指针int *p=arr=&arr[0];
3,函数指针和指针函数;
函数指针 int (*p)(参数类型 参数,...);这是一个指针变量,接受函数的首地址,因此常用来调用函数;
指针函数 int *p(参数类型 参数,...);这是一个函数,返回int类型的地址.因此主调函数必须用int类型的指针接受它的返回值.
|
|