int *p=10;p=20;哪错了
让p 指向10的地址,再通过p把10改为20,哪里不对
4条回答 默认 最新
- yun6853992 2022-03-08 17:43关注
c语言里面有类型的概念,有地址的概念,
而指针的概念,其实是针对地址的,指针的声明使用的是类型 *
比如你定义一个指针类型 int *p ; 这里的int *是他的类型,而p是变量,指针的含义是指向一块地址,所以对指针变量p的初始化,你应该是给他赋一个地址 比如int a =10; p=&a; (这里的&a其实就是一个int的数字)
而你如果直接int *p = 10; 是不是认为你是让p指向了位置10的地址,至于改为20,其实是一样的,没法用啊。注意指针的用法,指针一般指向的是一块地址,而取地址内的值是在指针变量前加*。
所以你如果要用,应该是int a =10; int *p = &a; *p=20; 然后看a的值本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂
- ¥15 wordpress 产品图片 GIF 没法显示
- ¥15 求三国群英传pl国战时间的修改方法
- ¥15 matlab代码代写,需写出详细代码,代价私