chaoren_chen
2016-11-21 05:08
采纳率: 50%
浏览 1.8k
已采纳

C语言指针问题 为什么P和*P的值一样

include

#include"malloc.h"
int main(void)
{
// int i;
int a[4][4]={2,1,7,88,99};

int (*p)[4];
p = a;

printf("%d\n", p);
    printf("%d", *p);

}
P和*P值一样

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • blownewbee 2016-11-21 06:18
    已采纳

    因为数组的地址也是数组第一个元素的地址。p是数组的地址,*p是数组第一个元素的地址。

    点赞 评论
  • jhcconan614 2016-11-21 14:32

    p=a,表示整个数组的首地址;*p

    表示第一行的首地址,这个也是数组的首地址

    点赞 评论
  • 残夜微殇 2019-07-25 20:56

    因为它们都代表数组的首地址

    点赞 评论
  • lierlun 2020-02-20 22:48

    p=a 相当于p=&a[0][4],结果是2;

    int *p[4]相当于p[0]代表一个int型指针,p[1]代表一个int型指针,*p的值为2

    点赞 评论

相关推荐 更多相似问题