楼兰经历 2022-08-13 15:23 采纳率: 88.5%
浏览 56
已结题

全局变量的应用——C语言

img


计算机二级C语言考试里面的试题,临时变量和全局变量分不清,我记得指针是可以改变值得,还有s和S说的是不是一个东西都是取值吗还是分着取值和指针类型

  • 写回答

5条回答 默认 最新

  • qzjhjxj 2022-08-13 16:52
    关注

    代码的执行,都是从 main() 函数开始的,从main()函数的第一句开始,按前后顺序,一句执行完,再执行下一句。
    在主函数里,调用函数语句:f(&m); 等价于====> f(int *s = &m) ,传参的过程理解为,将int* s 指针指向变量 m 的地址空间。
    在函数里,s = &k; 这句修改了指针 s 的指向,将它指向了变量k 的地址空间。(如果将这句注释掉,下面一句改变的就是m的值)
    接下来,*s = 7; 是对指针的解引用赋值,此时 s 是指向变量 k 的地址空间,所以*s=7 ===> k = 7;
    所以,主函数里最后输出:m = 3, k = 7。

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

报告相同问题?

问题事件

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