您的位置:

C++数组初始化方法

一、一维数组初始化

在定义数组时,可以直接赋初值进行初始化,如下:

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++中数组有如下三种初始化方式:

  1. 在定义数组时进行初始化
  2. 通过循环对数组进行初始化
  3. 通过指针对数组进行初始化

三、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++数组初始化的几种方法,可以根据实际需求选择适合的方法对数组进行初始化。