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……