右左法则(指针阅读技巧解析)

右左法则(指针阅读技巧解析)

 1. 从最里层的圆括号中未定义的标示符看起

 2. 首先往右看,再往左看

 3. 当遇到圆括号或者方括号时可以确定部分类型,并调转方向

 4. 重复2,3步骤,直到阅读结束

 

   int (*p)(int*, int (*f)(int*));

==>>p是一个指针,指向一个含有两个参数的函数,函数返回值为int。参数(int (*f)(int*)) f为一个指针,指向一个函数,函数参数为int*,函数返回值为int。

    int (*p[5])(int*);

==>>p是一个数组,数组中存放指针,指针指向参数为int*返回值为int的函数

    int (*(*p)[5])(int*);

==>>p是一个指针,指向一个数组,数组存放指针,指针指向一个参数为int*返回值为int的函数

    
    int (*(*p)(int*))[5];

==>>p是一个指针,指向一个函数,函数参数为int*,函数返回值为一个指向一个int[5]的数组指针

posted on 2012-11-30 17:43  Daniel.G  阅读(306)  评论(0编辑  收藏  举报