c语言之 指针 函数指针 指针数组

指针变量的分析原则 : 从变量名起,根据运算符优先级结合,一步一步分析。 ( p 开始后要把小括号去掉 )

 

 

指针,指向什么( X ), X 是什么类型的

 

 

Int *p;   // 首先从 P 处开始,先与 * 结合,说明 P 是一个指针,然后再与 int 结合,说明指针所指向的内容的类型为 int 型,所以 P 是一个返回整形数据的指针

 

 

Int *p[3]; // 首先从 P 处开始,先与 [] 结合所以 P 是一个数组,然后再与 * 结合,说明数组里的元素是指针类型,然后再与 Int 结合,说明指针所指向的内容类型是整形的,所以, P 是一个由返回整形数据的指针所组成的数组;

 

 

Int (*p)[3]; // 首先从 P 处开始,先与 * 结合,说明 P 是一个指针,然后再与 [] 结合,说明指针指向的内容是一个数组,然后再与 int 结合,说明数组里的元素是整形的,所以 P 是一个指向整形数据组成的数组的指针;

 

 

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

 

 

Int (*p)(int); // 首先从 P 处开始 , 先与指针结合,说明 P 是一个指针,然后与 () 结合,说明指针指向一个函数,然后再与 () 里的 int 结合,说明函数有一个 int 型的参数,再与最外层的 int 结合,说明函数的返回值类型为 int ,所以 P 是一个   有一个整形参数且返回类型为整形的 函数的指针

 

 

指针是一个特殊的变量,它里面存储的数字被解释成为内存里的一个地址。要搞清楚一个指针需要搞清指针四个方面的内容: 指针本身所占的内存区、指针的值或者叫指针所指向的内存区、指针的类型 指针所指向的类型。

全部评论

相关推荐

4 4 评论
分享
牛客网
牛客企业服务