网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
03月11日漏签0天
c++吧 关注:654,131贴子:2,118,043
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1 2 下一页 尾页
  • 24回复贴,共2页
  • ,跳到 页  
<<返回c++吧
>0< 加载中...

C语言中,全局变量与局部变量同名时,如何判断

  • 只看楼主
  • 收藏

  • 回复
  • 凌云
  • |
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在写C语言程序的时候,变量分为“全局变量”和“局部变量”。它们主要是“作用域”的不同,“全局变量”,作用域在整个C语言源文件之内;而“局部变量”,作用域在一对大括号内。
若是在同一个作用域内,定义两个“重名”的变量时,程序会报错。比如,如下程序,在程序编译时,就会产生错误信息:

上述C语言代码是错误的,在编译时,产生的错误信息如下所示:

因为在第5行和第6行,在main函数之内,同时定义了两个“同名”变量num,所以,程序在编译的时候就会报错。但是,如果将其中一个num变量,定义在main函数的外面,那么就不会报错了。如下图所示程序:

上述C语言程序中,在第3行,定义了一个变量num,在第7行也定义了一个变量num,虽然这两个变量的名字相同,都是“num”,但是,其中一个变量属于“全局变量”,作用域在整个C语言源文件;另一个(第7行)定义的变量,属于“局部变量”,作用域在main函数中,所以,它们是不冲突的,程序在编译的时候,也不会报错。最终,程序执行的结果,以“局部变量”的值为准,程序执行结果如下图所示:
我们看到,最终,num的值,取的是第7行定义的变量的值。它属于“局部变量”,这是一种“就近原则”。这种“就近原则”,除了C语言之外,其它一些代码语言中,也会被体现到。比如在web开发的js代码中,如果将变量写在一个函数之内,另一个同名的变量,写在函数之外,在这门语言里,和C语言是一样的,也是会有“作用域”的概念,同样会有一个“就近原则”。所以,我们理解了C语言中变量作用域的“就近原则”,也有利于学习其它的一些编程语言。


  • 凌云
  • |
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


2026-03-11 20:54:04
广告
不感兴趣
开通SVIP免广告
  • 心之刃
  • ->*
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
走错吧了


  • 抬头望那苍穹
  • ==
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
覆盖


  • 凌云
  • |
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶下


  • 凌云
  • |
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1


  • 凌云
  • |
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶


  • 好好生活好好爱自己
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
加static 就是全局的了吧,N年没用过C语言了


2026-03-11 20:48:04
广告
不感兴趣
开通SVIP免广告
  • 709889250
  • <<
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
应该是因为当你把这个变量设置在外面的时候, 这个变量并不是在栈上面的, 所以编译器没有报错。


  • appletwo99
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在输出的num前面加个"::"试试看


  • AWE
  • &
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
作用域限定符 :: 了解一下←_←


  • wcjshlys
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
哦哦


  • Con
  • <
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
扯了半天::都没讲出来还在扯什么。


  • 无名莫里
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有问题,为什么不先去隔壁C语言吧看看呢


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 24回复贴,共2页
  • ,跳到 页  
<<返回c++吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示