鬼火狼烟吧 关注:230贴子:5,311
  • 11回复贴,共1

声明之脑筋急转弯!

只看楼主收藏回复

int * (* (*fp1) (int) ) [10];
fp1被声明成为一个函数的指针的指针的数组,这个数组有10个元素
这个解释说是错的吧?
感觉fp1解释为函数指针才对的!该函数的返回类型为一个指针,该指针指向一个有十个int指针元素的数组
呵呵,有点拗口...

我还想问:
void (*a)();
int  (*b)();
a、b函数指针的类型是不是一样的,就是受不受void和int修饰的影响?应该是影响的吧


IP属地:湖南1楼2006-05-31 11:54回复
    @@
    头晕…


    IP属地:日本2楼2006-05-31 13:16
    回复
      2026-03-06 12:43:38
      广告
      不感兴趣
      开通SVIP免广告
      不是很难的呀


      IP属地:湖南3楼2006-05-31 14:12
      回复
        只是上来向鬼火大哥求证一下
        呵呵


        IP属地:湖南4楼2006-05-31 14:13
        回复
          眼花。。。。感觉如果我写,会这么写:
          int (* (* ((*fp1)(int)) )) [10]; 

          那个当然是不一样的呵呵.如果你使用typedef就可以比较出来了


          5楼2006-06-01 10:29
          回复
            鬼火大哥,后一个我理解了
            但好象前一个你错了的
            因为
            int (*p)[5];

            int *p[5];
            是不同的
            觉得
            int (* (* ((*fp1)(int)) )) [10]; 
            最外层的括号是不能要的,否则意思就变了


            IP属地:湖南6楼2006-06-01 10:43
            回复
              int (*p)[5]; 定义一个有5个指针的数组~
              int *p[5]; 定义一个指向5个元素数组的指针~


              7楼2006-06-01 12:20
              回复
                "fp1被声明成为一个函数的指针的指针的数组",按文本理解呵


                8楼2006-06-01 12:20
                回复
                  2026-03-06 12:37:38
                  广告
                  不感兴趣
                  开通SVIP免广告
                  你在七楼的说法和我在资料中的刚好相反


                  IP属地:湖南9楼2006-06-01 20:07
                  回复
                    >_<,偶是错地,偶被函数指针搞昏了呵呵


                    10楼2006-06-02 09:51
                    回复
                      的确!指针这东西一多就人发晕
                      还好,好的编程风格是不会这么定义东西的。平时很难见到这种东西
                      呵呵...要是满大街都是这东西,那就郁闷了


                      IP属地:湖南11楼2006-06-02 10:04
                      回复
                        特别是掺了其他运算符号的。。


                        12楼2006-06-02 11:22
                        回复