中易网

如何解释 int i=3,*p=&i; ?

答案:6  悬赏:50  
解决时间 2021-03-02 16:21
如何解释 int i=3,*p=&i; ?
最佳答案
Int *p //定义一个指针
  Int i=3 //定义一个变量,值初始化为 3。从这开始,变量 i 的值为 3
  P=&i //将变量 i 的内存地址赋值给指针 p,此时指针 p 的值是变量 i 的内存地址,
  //此时,*p 就相当于变量 i
  //*p 取指针 p 指向的内存存储的值,就是变量 i 的值。以下一句可以说是多余的。
全部回答
P是指针变量,在这里用取地址符&来获取变量i的地址,让后让p指向这个地址。
其实,在c程序规定:我们定义指针变量,如果采用逗号隔开的话,需要每个都加*号,如int* A,B在这里只是对A变量定义指针,而B仍为int型。
建议多看看教材细节内容。
这个是定义时对变量初始化
,*p=&i;部分实际上是这样的
int *p;p=&i;
这样就理解了吧
int i=3,*p=&i;
就是:
int i=3;
int *p;
p = &i;
-------------------
int *p=&i; 的意思是 声明 p 是指针, 初始化指针地址 同 i 的地址。
printf("%d\n",*p);
打出 3
----------------------------------
*p不是相当于指向某个类型的变量吗?
*p 在语句里相当于指向某个类型的变量的值。
*p 在声明里,只是说它是指针。
形式逻辑 对 指针 不成立!(C 语言就是如此奇怪)
如果前面没*的话,p也就是个普通的变量了。*是说明p是指针的符号。
“*”号在不同的背景下有不同的含义,就像我们说的“开门”一样,对着汽车说,“门”是指汽车门,对着房间说,“门”是指房间门。
你提出的 int i=3,*p=&i; 这是一个声明语句,在声明中为了把指针和一般变量区别开,所以在指针变量前加一个“* ”。注意此时“*”号只是起一个和普通变量相区别的作用。
当“*”号不是在声明语句中出现时,它有了另一个含义,就是表示指针变量指向地址所储存的值。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
锦江百浪空气能热水器与阿里斯顿相比那种好?
碳酸钠杂质问题
三里人家·黑糖姜茶(长春总店)地址有知道的么
经常在b站看到一些动漫的话,比如“你指间悦
海阳中学地址在什么地方,我要处理点事
10万元打工还是创业?
我现在在深圳宝安,我想知道这里的面包店会招
竟成社区卫生服务中心在什么地方啊,我要过去
安华快运(阜彰公路安华快运)地址好找么,我有
观光长城这个地址在什么地方,我要处理点事
江苏高速公路工程养护有限公司京沪养护处地址
,请问家庭背景音乐喇叭线的接法和布线方式?
PAL 、NTSC制影片的帧速率是多少?
新华书店埠村门市部这个地址在什么地方,我要
好易通电子词典官网
推荐资讯
maya 圆角工具后,有一个物体消失了??
如何用好NoSQL
丹东有没有封闭中学
我女生23岁特讨厌一女的、所有人都跟她玩都喜
连云港市亚亨路桥工程有限公司地址有知道的么
夏普,小米,海信哪个品牌好
老哥们为什么禁忌深渊肩甲不触发
别人说她名字叫静静,是你的话,你会怎么回复
去长滩岛要换美金??哪里换最划算??
ibm t60奥运版bios密码
物探报价跟据什么定价的
无水脆皮蛋糕这个地址在什么地方,我要处理点
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?