数组初始化(初始化是指在定义时赋值) :
1、满额初始化
intarr [5]={ 1,2,3,4,5 }; //arr[0]--1 arr[4]- 5
2、部分初始化
intarr [5]={ 1,2,3 }; //arr[0]=1,arr[1]=2,arr[2]=3,arr[3]=0,arr[4]=0
从以上情况可以看出:
int arr[5]={0},希望在初始化时将所有元素的值设置为0;
二维数组初始化:
inta [2] [3]={ 1,2,3 },{ 4,5,6 }; //满额初始化时,可以省略行号,但不能省略列数
//列数表示类型,将在后面叙述
int a[2][3]={{1},{ 4,5 };
inta [2] [3]={ 1,2,3,4,5,6 };
数组分配:
int arr[5];
arr [5]={ 1,2,3,4,5 }; //error arr[i]的写法访问了数组元素,arr[5]越界了
arr={ 1,2,3,4,5 }; //error arr是数组名称,用于为数组中的每个元素赋值
因此,代入时只能依次给各要素赋值,使用for循环来实现
字符数组:元素类型为char类型的数组
char str[5]={'a '、' b '、' c '、' d '、' '};
char str[5]='abcd ';
char str[5]='ab ';
字符数组赋值:
scanf('%s ',数组名称;
printf('%s(n ),数组名称);
的字符串输入和输出函数:
字符串输入函数: gets (数组名称);
字符串的输出函数: puts (数组名称;
注意: scanf和gets都可以为字符数组赋值,但scanf使用空格和换行符作为结束标志
gets仅将滑架返回作为结束标志
gets时,gets不进行越境检查,因此输入字符串时最多只能输入n-1个字符
扫码也一样
字符二维数组:
char str[2][20]={'hello ',' world'};