关于int*p=&a与int*p;p=&a的解惑

 

在学习c语言解惑中遇到这个问题,其中对int *p=&a的写法百思不得其解,查了网上资料得出

这样的理解是错误的

正确理解是

一般来说*p=&a的表示方法是错的,*p=a和p=&a是正确的。2.*p=a的意思:将a的值赋给p指针指向的地址的值;3.p=&a的意思是:将a的地址赋给指针p;4.区别:*p是一个值;p是一个地址;两者完全不相同。5.*代表着p指向的地址的值,简单来说就是取值;&是取地址符号,取的是地址;p是指针,可以理解为所指向的值的地址,*p就是取p指针指向的地址的值,&a就是取a的地址。

扩展资料:指针的两种含义:一是作为数据类型,二是作为实体1.指针作为实体,是一个用来保存一个内存地址的计算机语言中的变量。指针一般出现在比较底层的程序设计语言中,如C语言。高层的语言如Java一般避免用指针,而是引用。2.指针作为数据类型,可以从一个函数类型、一个对象类型或者一个不完备类型中导出。从中导出的数据类型称之为被引用类型。指针类型描述了一种对象,其值为对被引用类型的实体的引用。

难点在于指针有两种含义,一种是作为取值,一种是作为数据类型,而在int中就是数据类型类似于(int*)p=&a。即是p的值是a的地址。与int*p;p=&a的含义相同

 

  • 67
    点赞
  • 164
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值