lezilisy 2023-02-27 16:14 采纳率: 42.9%
浏览 31
已结题

C语言中指针定义的问题

例如 int *p=&a;
写法应该是*号和p是一个整体,比如连续定义:int *p1, *p2, *p3;
但是实际含义应该是int和*号一个整体,代表一个指针类型,完整格式为:int* p; p=&a;
为什么在定义的时候要将*号和p当做一个整体呢?我经常会搞混指针定义和指针取地址,还是说我的理解是错误的?

  • 写回答

4条回答 默认 最新

  • 七月星辰八月雪 2023-02-27 16:22
    关注

    其实int *p和int* p两种写法都是合法的,但是int* p这样的写法容易造成误解,如 int* p1, p2,这时p1的类型是int,p2的类型是int,但因为和int写在一起,容易误解p2的类型也为int*,而写作 int *p1,p2 就不会有误解了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月7日
  • 已采纳回答 2月27日
  • 创建了问题 2月27日