数组定义
数据的组合。类型相同且内存连续的集合
数组的格式定义:数据类型说明符 数组名[数组的大小]
数组大小是常量
数组的初始化:数组={储存的数据}
通过下标访问:下标从0开始: 数组名[数组下标]
如: int arr[6]={1,2,3,4,5,6}
printf(“%d\n”, arr[4]);
scanf(“%d”, &arr[4]); //重新键入该值
printf(“%d\n”, arr[4]);
printf(“%p\n”,arr[4]);//输出内存地址 用%p
printf(‘’%d\n",sizeof(arr)) //输出数组占内存大小
printf(‘’%d\n",sizeof(arr)/sizeof(arr[0])) //输出数组大小
数据是占内存的,且操作系统会随机分配内存地址编号
地址一般用数据的十六进制形式表示
二维数组
二维数组的定义:类型说明符 数组名[数组大小][数组大小] // 行和列
二维数组的初始化:arr[2][3]={1,2,3, 2,2,3}; //一行一行赋值
arr[2][3]={
{1,2,3},
{2,2,3}
};
三维数组是多个二维数组组成
arr[2][4][3] //代表两个[4][3]的二维数组组成
N维数组是k个N-1维数组组成 arr[k][…][…][…]
字符数组
存储字符类型数据的集合
char str[10]={0};
str[0]=‘a’;
char str1[4]=“abcd”;
%s: 用来输出字符串的格式占位符;输出到\0位置就结束
printf(“%s”,str)
0数据 转义字符 \0
\0 表示一个字符串的末尾每个字符串的末尾都有一个\0表示字符结束
手动赋值
scanf(“%s”,str)
中文也是字符 一个汉字占2个字节
char str2[]=“好”; //该数组大小 str2[3],因为有\0结尾
char str3[10];
gets(str3); //键盘输入
puts(str3); //输出
常用的字符串函数
strcmp 用来比较两个字符串,逐位比较(用的时候需要导入头文件 string.h)
char str[10]=“aaaa”;
char str1[10]=“aaaa”;
strcmp(str,str1);//返回的结果 0 表示两个字符串相等;>0表示str>str1
strlen 求字符串的有效长度,\0不算有效长度
sizeof 求数组大小
strcat 字符串的拼接函数,要留足够空间来存储字符串
strcpy 字符串拷贝函数
strcpy(str,str1);把后者拷贝到前者,整个覆盖