数组:相同变量的集合,即数组中所有元素都为同一类型
一、一维数组
一维数组的定义
数据类型 数组名[数组大小]
数据类型:可以是int float等基本数据类型
数组名:要符合用户标识符命名规则
数组大小:常量或常量表达式
例如 int arr[6] = {0,1,2,3,4,5};
0 | 1 | 2 | 3 | 4 | 5 |
注意:(1)只能单次使用数组的元素,不能一次使用整个数组
(2)元素个数应该小于等于数组长度,否则就会溢出。
二、字符数组
数据类型为char
例如:char arr[] = {'a','b','c'};
char arr[] = {'abc'};
char arr[] =''abc'';
上面一与二三的定义不同,第一种为单个的字符,第二种为字符串,末尾有”\0“.
char arr1[] = { 'a','b','c'};
char arr2[] = { "abc" };
char arr3[] = "abc";
printf("%d %d %d", sizeof(arr1), sizeof(arr2), sizeof(arr3));
得到的结果为 3 4 4 ;
一维字符数组的输入:
char arr[10] = {0};
scanf("%s", arr); //以空格和回车结束
gets(arr); //gets 函数是以回车结束 //对应puts() 输出字符串,并自带换行
三、二维数组
定义 :数据类型 数组名[行数][列数]
例如
int arr[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int arr[3][4] = {{1,2,3,4},{5,6},{9,10}};
int arr[][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
在初始化时行数可以省略,列数不可省略
二维数组的动态初始化
for (int i; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
scanf("%d", &arr[i][j]);
}
}
字符串函数
1、strcmp(地址1,地址2),从高位向低位依次比较。返回零,两字符串相等,负数第一个比第二个小,返回正数,第一个字符串比第二个大。
2、strlen();计算字符串的有效长度,不包括 '\0'.
3、strcat(地址,地址)将第二个字符串接到第一个字符串后面;
4、strcpy(地址1,地址2):字符串拷贝函数,将地址二上的字符串拷贝到地址一。