1.数组的元素个数不能为0,基本语法如下:
type arr_name[常量值];
不完全初始化如下:
int arr[6]={1};//第⼀个元素初始化为1,剩余的元素默认初始化为0
2.数组的类型,数组是一种自定义数据类型,去掉数组名留下的就是数组的类型
如int arr[10],则arr数组的类型为int [10];
int arr1[12],则数组arr1的类型为int [12];
char ch[8],则ch数组类型为char [8];
3.c语言规定数组是有下标的,下标从0开始,n个元素的数组,最后一个元素的下标为n-1,下标相当于数组元素的编号。
如数组int arr[10]={1,2,3,4,5,6,7,8,9,10};
数组和下标对应如下:
通过操作符[ ]进行访问,这个操作符叫做下标引用操作符。arr[k],表示访问下标为k的元素。
一个数组输入和输出的案例如下:
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int i = 0;
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
4.数组在内存中是连续存放的,同时数组随着下标的增长,地址也在由小到大变化的。一个案例如下:
5.可以利用sizeof计算数组的大小和数组的元素个数
int arr[10]={0};
sizeof(arr);//40 ,数组所占内存空间的大小是40,单位是字节
sizeof(arr[0]);//4 ,sizeof(arr[0])计算的是一个元素所占空间的大小
sizeof(arr)/sizeof(arr[0];//10 ,计算的是数组的元素个数
6.二维数组按照行进行初始化,注意二维数组是一个一维数组的数组,存放一维数组的数组,二维数组的每个元素是一维数组。
int arr[3][5]={{1,2},{3,4},{5,6}};
二维数组初始化时可以省略行,不能省略列
int arr0[][5]={1,2};
int arr1[][5]={1,2,3,4,5,6,7,6};
int arr2[][5]={{1,2},{3,4},{5,6}};
二维数组中的每个元素都是连续存放的。
7.变长数组,允许使用变量指定数组大小
int n = a + b;
int arr[n];
变长数组长度只有在运行时才能确定,变长数组不能初始化。同时变长数组的大小一旦确定就不能再变化了。
8.Sleep函数使用时候要包含头文件windows.h,如下:
#include<windows.h>
Sleep(1000);//表示睡眠1000毫秒
strlen()函数使用时候需要包含头文件string.h
strlen()是 C 语言中的函数,用于计算字符串的长度(不包括字符串末尾的'\0')
sizeof()返回的是字符串数组的大小,包括字符串末尾的 null 字符,而不是字符串的长度。
char arr1[]="abc";//相当于[abc\0]
strlen(arr1);//3 不包含字符串末尾的\0,strlen是求字符串中的字符个数,工作原理是找\0
char arr2[]={'a','b','c'};//注意arr2不是字符串是字符数组,strlen(arr2)是随机数。
sizeof(arr1)/sizeof(arr1[0]);//4 包含字符串末尾的\0
system()函数使用时候需要包含头文件stdlib.h
system("cls");//system函数是库函数,执行系统指令,cls是清理控制台屏幕信息