C语言中数组初始化操作

1.主要方法


  • 使用 ​​memset​​对数组进行初始化
  • 写一个函数,在函数中进行数组的初始化。
  • 使用​​fill()​​​函数进行初始化。详见链接C++ 中 fill() 的使用

2.坑点:

  • 不能直接使用​​int array[maxn] = {-1}​​来对数组进行初始化,这样得到的数组中的值并非是-1

3. 实战

  • 代码
#include<cstdio>
#include<cstring>
#define maxn 10

int array1[maxn]={-1};

void init() {
int i = 0;
for(i = 0;i < maxn;i++){
array1[i] = -1;
}
}

int main(){
int i;
int array2[maxn] = {-1};
for( i = 0;i< 10;i++){
printf("%d ",array1[i]);
}printf("\n");
for(i = 0;i < 10;i++){
printf("%d ",array2[i]);
}printf("\n");

init();//初始化之后
printf("\n-------使用init初始化array1[]之后----------\n");
for( i = 0;i< 10;i++){
printf("%d ",array1[i]);
}printf("\n");

printf("\n-------使用memset初始化array2[]之后----------\n");
memset(array2,-1,sizeof(array2));
for( i = 0;i< 10;i++){
printf("%d ",array2[i]);
}printf("\n");

}
  • 测试用例
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597……