1.什么是初始化?
先弄清楚两个概念:声明和定义。主要包括变量、函数、类型的声明和定义。
- 变量的声明:指明变量所属类型与变量名称的过程。如“extern int a;”。
- 变量的定义:指明变量所属类型、变量名称、分配空间以及完成初始化操作的过程。如“int a=1;”或“int a(1);”。
- 变量的初始化:为数据对象或变量赋初值的做法。可以发现,初始化是变量定义的一部分。定义一个变量时,一定会包含变量的初始化操作。
2.初始化与赋值的区别?
首先,初始化与赋值是不同的操作:初始化是使变量(对象)第一次具备初值的过程,而赋值则是改变一个已经存在的变量(对象)的值的过程。
- 对于基本数据类型的变量而言,变量的初始化与赋值的实现方式差不多,均是利用赋值符号将特定值写入变量 i 中。
如:
int i=5;//初始化
int i;i=5;//赋值
- 对于构造数据类型的对象,初始化的赋值的操作在实现方式却有很大的区别。以类对象为例,如下:
运行结果:
garrick
Johnson
Program ended with exit code: 0
这个程序实现了非标准的String类。该对象实现的功能有C风格的字符串初始化、C风格的字符串的赋值和