c_语言吧 关注:12贴子:273
  • 11回复贴,共1

这个指针变量定义的对么

只看楼主收藏回复

int* *p=a
为什么会有两个*呢
这是什么意思。。。
老谭书上的 没解释为什么这么写啊 还是印错了啊


1楼2013-05-05 21:24回复
    指向指针的指针。应该是二维数组上看到的吧


    来自手机贴吧2楼2013-05-05 21:53
    收起回复
      额 a是个数组名 a[10]
      那int* *p=a的意思还是给p赋初值a[0]吗???
      这跟int *p=a有什么区别的
      @偶尔惊悚


      3楼2013-05-05 22:40
      回复
        int a[10];
        int **p = a; //这句语法错误吧
        // p 是指向指针的指针 (p指向的应该是个指针) 比如 int *q; q=a; p=&q;
        **p = *q(); // 也就是a[0]
        // 数组a存储的是常数 而不是指针 所以 p=a;是错的 将int a[10];改成int *a[10]; p = a;才是对的


        IP属地:青海5楼2013-05-06 07:57
        收起回复
          int (*p)[10]; 才是指向一个10列的二维数组的指针(**p 是指向指针的指针 而不是二维数组的指针)


          IP属地:青海6楼2013-05-06 08:02
          回复