【C】局部变量和全局变量及同名情况

张开发
2026/4/10 10:11:49 15 分钟阅读

分享文章

【C】局部变量和全局变量及同名情况
在局部变量作用的块或者函数内局部变量覆盖全局变量对变量的操作只是局部变量不对全局变量起作用。在块或者函数外部全局变量才有作用。定义全局变量或者静态变量tmp[10]tmp[10]未初始化或者tmp[10] {0}则tmp内容都是0tmp[10] {1}只有tmp[1]是1后面都是0定义局部变量tmp[10]tmp[10]未初始化则tmp内容都是随机数tmp[10] {0}则tmp内容都是0tmp[10] {1}只有tmp[1]是1后面都是0类型作用域生命周期局部变量某个函数某个函数静态局部变量某个函数整个工程静态全局变量单个文件整个工程全局变量整个工程整个工程作用域相同的变量不能命名相同会报错。作用域不同的变量可以命名相同使用时遵循就近原则。也就是局部变量可以覆盖全局变量。C语言中如果同名宏的定义完全相同则没问题。如果定义的内容不同则报错或者告警。告警的话使用时遵循就近原则。全局或者静态变量初始化必须是常量表达式局部变量初始化可以是变量。

更多文章