数组创建——不完全初始化
int arr[10]={1,2,3};//剩下元素默认为0
char arr2[5]={'a',98};
char arr3[5]="ab";
//int n=5;
//char arr4[n];//error
char arr5[]="abcdef";
数组测量
sizeof——计算数组所占空间大小
strlen——求字符串长度——“ ”之前的字符个数
二者区别:
strlen是求字符串长度-只能针对字符串求长度-库函数-使用需要引头文件
sizeof计算、变量、数组类型的大小-单位是字节-操作符
一维数组在内存中的存储#includeint main() { int arr[]={1,2,3,4,5,6,7,8}; int sz= sizeof(arr)/sizeof(arr[0]) int i=0; for (i = 0;i 可以发现,两两之间的相差总是4字节,且数组在内存中是连续存放的
二维数组的创建和初始化 二维数组的创建int arr[3][4]; char arr2[3][5]; double arr3[2][4];二维数组的初始化//创建一个三行四列的数组 int arr[3][4]={1,2,3,4};//全部放在第一行 int arr[3][4]={{1,2},{3,4}};//1,2第一行,3,4第二行 int arr[][4]={1,2,3,4};//模仿arr[]={1,2,3,4}二维数组的使用#include二维数组在内存中的储存int main() { int i = 0,j = 0; int arr[3][4]={1,2,3,4,5,6,7,8,9,10,11}; for (i = 0;i < 3; i++) { for (j = 0;j < 4; j++) { printf("arr[%d][%d]=%d",i,j,a[i][j]); } } return 0; } #includeint main() { int arr[3][4]={1,2,3,4,5,6,7,8}; int i = 0,j = 0; for (i = 0;i < 3;i++) { for (j = 0;j < 4;j++) { printf("&arr[%d][%d] = %pn",i,j,&arr[i][j]); } } return 0; } 可以看出,二维数组在内存中也是连续存放的



