关于声明、定义、初始化及赋值

本文详细解读了声明变量、定义变量和初始化的区别,包括它们在编译过程中的作用、内存分配以及在头文件和源文件中的使用策略。通过实例说明了extern、声明与定义的交互,帮助读者理解编程中这三个关键概念的实际应用。
摘要由CSDN通过智能技术生成

关于声明、定义、初始化及赋值

声明:告诉编译器或解析器该变量存在,这个行为并不分配内存空间,可以多次出现,只是告诉编译器有这么个对象。

extern int a;//纯声明(有extern关键字),不分配存储空间。

定义:只能出现一次,创建了一个对象,为对象分配内存空间。

int a;//声明+定义(无extern关键字),通常直接叫做定义。分配存储空间。

初始化:在定义变量以后,系统为变量分配的空间内存储的值是不确定的,所以需要对这个空间进行初始化,以确保程序的安全性和确定性,给变量赋默认值。

int a=1;//声明+定义+初始化,通常直接叫做初始化。分配存储空间。
extern int a=1;//声明+定义+初始化,通常直接叫做初始化。分配存储空间。

赋值:变量在分配空间之后的某个时间里,对变量的值进行刷新操作,即修改存储空间内的数据。

a=1;//修改已经定义好的变量a的值为1。不分配存储空间。

说明

区别变量声明和定义的方法:

声明:含有extern关键字且变量没有初始化,不分配存储空间。

定义(初始化):不含extern关键字或者含有extern关键字但是变量被初始化,分配存储空间。

变量可以声明多次;但只能定义一次(一个变量只能在一个源文件中定义)
声明通常放在头文件(.h)中;定义放在源文件(.cpp)中,防止文件被多次引用,重复定义。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值