• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

主函数内局部变量 的话,变量值会一直保存?

huihui163 2020-12-29 浏览量:661
主函数内局部变量  的话,变量值会一直保存?比如达到一定条件就a++,a的值不清零的话,别的函数访问这个值时,这个值不会被释放,会一直保持吗
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 主函数和其他函数其实还是相当独立的。

    你所谓的主函数内的局部变量对其他函数来说,只有在调用传参时是可见的,其它时候都和普通函数中的局部变量一样是不可见的。

    比如

    int A(int b){
    return (b++);
    }
    int B(){
    return a++;
    }
    int main(){
    int a=0bc;
    a++;
    b=A(a);// 这是正确的调用
    c=B();// 这里会报错,因为并没有全局的a变量
    return 0;
    }

    • 发布于 2020-12-30
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:6
  • 别的函数如果需要访问,应该是全局变量吧?
    • 发布于2020-12-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 函数内定义的局部变量,某种意义上也就相当于一个全局变量,别的函数可以访问这个值(可以把这个值当作参数),但是这个别的函数不包括中断函数,但是要注意防止编译器优化的情况。

    本质上说就是在哪里定义的使用范围就在哪里。

    • 发布于2020-12-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 会的,只要不出主函数就会一直保持a值。其他函数无法直接访问a值,只能通过参数传递。
    • 发布于2020-12-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 会保存,但是如果是局部变量的话别的函数不可用,除非用这个作为实参传进去才能给其他函数用
    • 发布于2020-12-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 主函数内的局部变量就是和全局变量一样,不会释放变量内存
    • 发布于2021-01-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 主函数在进程的生命周期内一直运行,所以它的值会一直保存
    • 发布于2021-01-25
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

主函数内局部变量 的话,变量值会一直保存?