一、一维数组初始化
在定义数组时,可以直接赋初值进行初始化,如下:
int a[5] = {1, 2, 3, 4, 5};
也可以不指定数组大小,让编译器自动计算:
int a[] = {1, 2, 3, 4, 5};
如果部分元素没有赋初值,则剩余元素会自动被初始化为0:
int a[5] = {1, 2, 3}; // a[3]、a[4]自动被初始化为0
二、数组初始化的三种方式
C++中数组有如下三种初始化方式:
- 在定义数组时进行初始化
- 通过循环对数组进行初始化
- 通过指针对数组进行初始化
三、C语言数组初始化
C语言中可以通过以下方式对数组进行初始化:
int a[5] = {1, 2, 3, 4, 5};
也可以这样:
int a[] = {1, 2, 3, 4, 5};
其中要注意,数组下标从0开始,所以数组大小为n时,可以访问的元素下标范围是0~n-1。
四、字符串数组初始化
字符串数组可以用以下方式初始化:
char str[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; char str[] = "Hello";
第一种方式需要在结尾添加'\0',表示字符串结束,在第二种方式中,编译器会自动在字符串结尾添加'\0'。
五、数组初始化为0
可以使用以下方式将数组初始化为0:
int a[5] = {0}; // a数组中所有元素都被初始化为0
六、数组的初始化
可以将数组的值初始化为其他变量或表达式的值:
int x = 1, y = 2, z = 3; int a[3] = {x, y, z}; // a数组为{1, 2, 3}
七、字符数组初始化
字符数组可以用以下方式初始化:
char str[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; // 字符串为"Hello"
也可以使用以下方式:
char str[] = "Hello"; // 字符串为"Hello"
八、对一维数组a进行正确初始化
可以将一维数组a的值初始化为其他变量或表达式的值,如下:
int x = 1, y = 2, z = 3; int a[3]; a[0] = x; a[1] = y; a[2] = z; // a数组为{1, 2, 3}
九、指针数组初始化
可以使用以下方式对指针数组进行初始化:
int a = 1, b = 2, c = 3; int* p[3] = {&a, &b, &c};
其中p数组中存放的是指向a、b、c三个变量的指针。
十、对两个数组a和b进行如下初始化
可以使用以下方式对两个数组a和b进行初始化:
int a[3] = {1, 2, 3}; int b[3]; for(int i = 0; i < 3; i++) { b[i] = a[i]; } // b数组为{1, 2, 3}以上就是C++数组初始化的几种方法,可以根据实际需求选择适合的方法对数组进行初始化。