对我们程序员来讲,“变量”和“对象”是可以相互互换使用的。-------------开篇之词。
变量:提供一个具有名字的可供程序操作的存储空间。由类型说明符和其后紧跟的数个列表组成,其中变量名之间使用逗号分隔,最后使用分号结尾。像 int sum = 0,value,unit_sold = 0;Sales item;这里的item就是类型为Sales的变量。
对象:是指一块能够存储数据并且具有某种类型的内存空间。
初始化和赋值不是同一概念;初始化是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而用一个新值来替代。自从c++11开始,已经可以使用像int sum{0};这样的初始化了,称为列表初始化!
定义于任何函数之外的变量将被初始化为0;一种例外情况是:定义在函数内部的内置类型变量将不会被初始化。一个未被初始化的内置类型变量的值是未定义的,如果试图拷贝或者以其他形式访问这个类型将会引发错误!!定义于函数体内部的内置类型的对象如果没有初始化,则其值未被定义。类的对象如果没有显示的初始化,则其值由类确定。因此,建议我们初始化每一个内置类型的变量,虽然并非必须这么做,但是如果我们不能确定初始化后程序的运行的安全,那么这么做不失为一种简单可靠地方法--------------养成有变量就初始化的好习惯!!!!
声明规定了变量的类型和名字,但是除此之外还申请了存储空间,也可能会为其变量赋一个初始值。
如果想声明一个变量而非定义它,就在变量前面添加一个关键字extern,而不要显示的初始化变量:extern int i;//声明i而非定义i;int j;//声明并定义j;在函数体内部,如果试图初始化一个由extern关键字标记的变量,将引发错误。变量能且只能被定义一次,但是可以被多次声明!
命名规则:1.用户自定义标示符中不能连续出现两个下划线,也不能使用下划线紧邻大写字母开头,定义函数体以外的标识符不能以下划线开头!
2.变量名要写成小写,方便阅读。
3.用户自定义的类型一般要以大写字母开头。
4.如果标识符由多个单词组成,则单词间应该有明显区分。
建议:当你第一次使用变量时再定义它;也就是说,再对象第一次被使用的地方附近定义它是一种好的选择,因为这样做有助于更加容易地找到变量的定义。更重要的是,当变量的定义与它第一次被使用的地方很近时,我们也会赋予它一个比较合理的初始值!
复合类型:是指基于