C语言指针分析方法

发表于:2014年12月12日 12:15  分类:c 594次浏览

指针是包含另一个变量的地址变量,指针的一般说明形式如:int * fd,其中fd是一个指向整形变量的指针。比较复杂的指针,比如*(* pfpi)(),可以按照如下原则来分析:以标识符为中心,一对方括号一般表示数组,一对圆括号表示函数或强调某一优先顺序,方括号和圆括号为同一优先级,方括号和圆括号比*号的优先级高,方括号和圆括号结合方向自左向右,*号结合方向自右向左。

指针例子
int *fd fd是一个指向整型变量的指针。

int *fip() 因圆括号优先级高,故fip先与圆括号结合,说明fip是一个函数,这个函数返回一个指向整数的指针。

int (*pfi)() 因两对圆括号为同一优先级,故从左到右,pfi是一个指针,这个指针指向一个函数,这个函数返回一个整数。

int *par[] 因方括号比*号优先级高,故par是一个数组,这个数组中的每一个元素是指向整数的指针。

int (*ptr)[] 因方括号和圆括号为同一优先级,故ptr是一个指针,这个指针指向一个数组,这个数组的每一个元素是一个整数。

int *(*pfpi)(), pfpi是一个指针,这个指针指向一个函数,这个函数返回一个指向整数的指针。

本文由李轶博的个人博客整理,转载请注明!本文链接地址:C语言指针分析方法


最后编辑于:2015/1/9作者:李轶博

技术控一枚,互联网浪潮的追随者(非业界),喜欢折腾CODE,爱分享个人学习、生活经历。如果你喜欢李轶博的个人博客,欢迎和我一起交流!QQ:927796402

发表评论

电子邮件地址不会被公开。 必填项已用*标注