C++变量的声明和定义
作者:@渔阳俊俊
本文为作者原创,转载请注明出处:https://www.cnblogs.com/wjq13752525588/p/11497075.html
1、变量的定义:变量的定义用于为变量分配存储控件,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。
2、变量的声明:用于向程序表名变量的类型和名字。程序中变量可以声明多次,但只能定义一次。
3、两者联系和区别:
(1)定义也是声明,因为定义变量时我们也想程序表明了它的类型和名字。
(2)但声明不是定义,可以通过使用extern关键字声明变量而不是定义它。不定义变量的声明包括对象名、对象类型和对象类型前的关键字extern。
例:
extern int i;//声明但是不定义
int i;//声明也定义
extern声明不是定义,也不分配存储空间,事实上,它只是说明变量定义在程序的其他地方。
例如:extern double pi = 3.1416;//定义了
double pi;//重定义,不合法
注意:在C++语言中,变量必须仅能定义一次,而且在使用变量之前必须定义或声明变量。
4、为什么需要区分声明和定义:
C++程序通常由许多文件组成。为了让多个文件访问相同的变量,C++区分了声明和定义。任何在多个文件中使用的变量都需要既有定义又有声明。在这种情况下,在一个文件中定义了变量,在其他使用改变了的文件中则只能包含变量的声明(不能再包含定义,因为变量只能定义一次)。
5、真正用的时候这种需要被别的文件用的变量,必须在本文件中定义好,比如在文件1中定义extern int i = 0;然后才可以在别的文件中使用,使用方式是:在类体的外部使用extern int i;这样在这个类中就可以使用该外部变量了,再次强调必须先定义好,才能在别的地方通过extern声明使用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具