如何将数组初始化为同一值?(对数组所有元素进行赋相同值)(C/C++实现)

目录

1.直接用 { 0 } 初始化数组

局限

2.用for循环对数组元素进行一一赋值

局限

改进


1.直接用 { 0 } 初始化数组

// 法一
int arr[5] = { 0 };

如何将数组初始化为同一值?(对数组所有元素进行赋相同值)(C/C++实现)_第1张图片

局限

该方法仅可将数组元素初始化为0

若初始化为其他数字,仅有首元素可被初始化为该数字,其余元素自动初始化为0

// 错误!仅可对数组首元素初始化为666
int arr[5] = { 666 };

如何将数组初始化为同一值?(对数组所有元素进行赋相同值)(C/C++实现)_第2张图片

2.用for循环对数组元素进行一一赋值

// 法二
int arr[5];

for (int i = 0; i < 5; i++)
{
	arr[i] = 666;
}

如何将数组初始化为同一值?(对数组所有元素进行赋相同值)(C/C++实现)_第3张图片

局限

使用for循环对数组元素进行一一赋值,效率较低,速度慢

改进

使用指针移动的方式对数组元素进行一一赋值,避免每次使用[]运算符的运算

int arr[5];
int* p = arr;  // 指向数组首元素的指针

for (int i = 0; i < 5; i++)
{
	*p = 666;
	p++;
}

如何将数组初始化为同一值?(对数组所有元素进行赋相同值)(C/C++实现)_第4张图片

你可能感兴趣的:(C++大神成长日记,c++,算法)