一.数组
用户自定义数据类型
数组存储大量同类型数据,地址上连续
1.一维度数组
1.1数组的定义
存储类型 数据类型 数组名[元素个数];
存储类型:auto、register、extern、static
数据类型:基本数据类型
数组名:
1.遵循标识符命名规则
2.数组名是数组首地址
3.数组名代表整个数组
元素个数:数组能存放的最多元素个数
例:int arr[20];//能存放20个int数据的数
组
char buf[50];//能存放50个char数据
的数组
float c[30];//能存放30个float数据
的数组
数组的大小:
数据类型*元素个数
1.2数组的初始化
完全初始化:
char buf[5]={'a' , 'p' , '?' , '7' , '&'};//完全初始化
未完全初始化:
int arr[65535]={97,89,84,77,90};//未赋值部分为0
缺省初始化:
char str[]="qwer";//缺省初始化
由初始化时数据个数决定元素个数
1.3数组元素的访问
数组名[元素下标];
下标:从0开始,最大为n-1
怎么样打印一组数据的全部数据:
1.4补充
1.arr[0]:表示第一个数组,不是地址。所示使用scanf时,用scanf(“%d”,&arr[0]):
arr:可以表示首地址。scanf("%d",arr);可以访问首地址,及访问第一个值。
2.关于一次性赋值:
只有在初始化时,才可以使用{·····}一次性赋值,而在初始化后后,不能一次性全部赋值。
Eg:
11 int a[3]= {1,2,3};//正确 12 13 int b[3]; 14 b[3]={1,2,3};//错误
3.字符串用字符数组保存
Eg:
11 char arr1[3]={'a','b','c'}; 12 char arr2[4]="abc";
字符串:由一个或多个字符组成,第12行用""包含字符串,就用'\0'结尾,所以要多给一个空间,第12行在遍历时间,只有遇见\0才会结束遍历。