Akuridinpo 2022-09-22 15:41 采纳率: 100%
浏览 41
已结题

C语言中关于int *p = &i; 语句的疑惑

初学指针,明白了&运算符是取地址,而*运算符是取地址中的实际值。

那为什么可以使用int *p = &i; 这样把地址赋给实际值的操作?

int i = 10; 
int *p;
p = &i;
printf("%d", *p);

int i = 10;
int *p = &i;
printf("%d", *p);

所得*p的值是一样的,这又是什么原因?

  • 写回答

4条回答 默认 最新

  • 於黾 2022-09-22 16:14
    关注

    都没有说到点上
    * 这个东西含义非常多
    在四则混合运算中它是乘号,在*p里它代表"解地址",而int *里它是类型的一部分,代表定义一个一级指针,int **则是二级指针,以此类推
    此外,在正则表达式中*还代表匹配任意多个前导字符
    你不要一见到*就以为是解地址操作

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

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月22日
  • 已采纳回答 9月22日
  • 创建了问题 9月22日

悬赏问题

  • ¥15 安装TIA PortalV15.1报错
  • ¥15 能把水桶搬到饮水机的机械设计
  • ¥15 Android Studio中如何把H5逻辑放在Assets 文件夹中以实现将h5代码打包为apk
  • ¥15 使用小程序wx.createWebAudioContext()开发节拍器
  • ¥15 关于#爬虫#的问题:请问HMDB代谢物爬虫的那个工具可以提供一下吗
  • ¥15 vue3+electron打包获取本地视频属性,文件夹里面有ffprobe.exe 文件还会报错这是什么原因呢?
  • ¥20 用51单片机控制急停。
  • ¥15 孟德尔随机化结果不一致
  • ¥15 在使用pyecharts时出现问题
  • ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路