标签:
指针变量的分析原则:从变量名起,根据运算符优先级结合,一步一步分析。(从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是一个指 向有一个整形参数且返回类型为整形的函数的指针。
指针是一个特殊的变量,它里面存储的数字被解释成为内存里的一个地址。要搞清楚一个指针需要搞清指针四个方面的内容:指针本身所占的内存区、指针的值或者叫指针所指向的内存区、指针的类型、指针所指向的类型。
标签:
原文地址:http://www.cnblogs.com/Wojoin/p/4626361.html