m0_62667564 2022-03-08 17:06 采纳率: 84.8%
浏览 40
已结题

关于指针的定义与使用

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的值

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

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月8日
  • 创建了问题 3月8日

悬赏问题

  • ¥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代码代写,需写出详细代码,代价私