*p,(*p)[10],*p=new int[10],




int **p;   //一个指向指针的的指针,它指向的指针是指向一个整型数;

int *e[10]    // 有10个指针,*e[0],*e[1]等;

int (*f)[10];  //一个指向有 10 个整型数数组的指针,指针是一个;

int *g(int);  //一个指向函数的指针,该函数有一个整型参数并返回一个整型数;
int (*h[10])(int);  // 一个有 10 个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数;

顺带解释下动态内存的指针:

int (*a)[10];——声明a是个指向具有10个int型元素的一维数组的指针。

int *a=new int[10];——等号左边是声明一个int *型指针a,等号右边是动态申请10个int型数据的连续空间;=号是将成功申请的空间的第一个元素的地址赋给int *型指针a。

 ps:经过验证如:
int *p,a[3]={2,3,6};

p=a;

p[2]=6;   //p[2]为int,可把p当作数组使用

 

猜你喜欢

转载自www.cnblogs.com/tangjunjun/p/10743667.html
今日推荐