变量的意义

什么是变量

  • 在c/c++中变量提供的一个具名的、可供程序操控的存储空间。c++中的每个变量都有数据类型,数据类型决定着变量占用的内从空间的大小和布局方式、该空间能存储的值的范围,以及变量能参与的运算。对于c++程序员来说,“变量”和“对象”一般可互换使用

初始化和赋值

  • 初始化:初始化不是赋值,初始化是变量创建时赋予一个初始值。
  • 赋值:把变量当前的值擦掉,以一个新值来替代

变量的命名规范

  • 标识符要体现变量的意义
  • 变量名一般用小写字母,如index,不要使用Index或INDEX
  • 用户自定义的类名一般以大写字母开头,如Sales_items
  • 如果标识符有多个单词组成,则单词间应该有明显的区分,如student_loan或者studentLoan,不要使用studentloan

变量声明与定义的关系

  • 声明使得名字为程序所知,一个文件如果想使用别处定义的名字则必须包含对那个名字的声明。而定义则负责创建与名字关联的实体。

  • 变量声明规定了变量的类型和名字,在这一点上与定义相同,除此之外,定义会为变量申请内存,有可能还会为变量赋一个初始值

  • 如果想声明一个变量而不定义,那么就在变量前加extern关键字,而不要显示的初始化变量

extern int a; //声明一个变量a
int b; //定义了一个变量b,而非声明
extern int c=0; //定义了一个变量c,并给c初始化值为0
  • 任何包含了显示初始化的声明都是定义,我们给extern标记的变量初始化值,这样做也抵消了extren的作用。extern语句如果包含了初始值就不再是声明,而是变成了定义。

  • 在函数体里,如果试图对一个extern变量初始化那么会编译错误。

  • 声明和定义的区别看起来似乎微不足道,但是实际上却非常重要。如果打算在多个文件中使用同一个变量,就必须将声明和定义分离,此时变量的定义必须出现且只能出现在一个文件中,而其他文件要想使用改变量,必须对改变量声明,即使用extern。

//文件a.cpp中定义了一个变量a
int a; //声明一个变量a


//文件b.cpp中如果想要使用变量b,那么必须先声明
extern int  a; //定义了一个变量b,而非声明
a=0; 此处不属于定义,是b.cpp中对a变量的赋值

猜你喜欢

转载自blog.csdn.net/len_yue_mo_fu/article/details/82422647