关于指针的问题和解决方法

1. 指针类型分析

int p; //这是一个普通的整型变量。

int *p; //首先从p开始,先与*结合,所有p是一个指针,然后再与int结合,说明说明指针指向的内容的类型为int

int p[3]; //p先与[]结合,说明p是一个数组,然后与int结合,说明数组里的元素是整型的。

int *p[3]; //p先与[]结合,因为其优先级比*高,所以p是一个数组,然后再与*结合,说明数组里的元素是指针类型,最后与int结合,说明指针指向的内容的类型是整型。

int (*p)[3]; //首先p与*结合,说明p是一个指针,然后再与[]结合,说明指针指向的内容是数组,然后与int结合,说明数组里的类型是整型的。

int **p; //首先p与*结合,说明p是一个指针,然后再与*结合,说明指针所指向的元素是指针,然后再与int结合,说明该指针所指向的元素是整型数据。

int p(int); // 首先p与()结合,说明p是一个函数,然后进入()里分析,说明该函数有一个整形变量的参数,再与外面的int结合,说明函数的返回值是一个整型数据。

int (*p)(int); // p先与*结合,说明p是一个指针,然后再与()结合,说明指针指向的是一个函数,然后()里有int,说明函数有一个int型的参数,再与最外面的int结合,说明函数的返回类型是整型。

int *(*p(int))[3]; //p首先与()结合,说明p是一个函数,然后进入()里面,与int结合,说明函数有一个整型变量参数,然后再与*结合,说明函数返回的是一个指针,然后与外面一层的[]结合,说明返回的指针指向的是一个数组,然后再与*结合,说明数组里的元素是指针,最后与int结合说明数组内指针指向的内容是整型数据。

 

2.指针分析

 

posted @ 2018-03-15 09:25  YoungLou  阅读(319)  评论(0)    收藏  举报