一.数组的概念
数组是⼀组相同类型元素的集合
1.数组中存放的是1个或者多个数据,但是数组元素个数不能为0。
2.数组中存放的多个数据,类型是相同的。
二.数组的创建
目前刚刚学到数组,数组的创建也很简单。
int a[12]={0};
int b[12][4]={0};
第一行是一维数组,(它里面有类型(int)变量名(a)有一个[12] (这是确定数组元素个数)有一个赋值符号(=)初始化{0})。
第二行是二维数组,和一维数组的区别就是他增加了列数;(我自己认为一维数组可以看成一条线,那么二维数组就是线构成的图形)。
三.数组的初始化
1.一维数组
完全初始化
int a[4]={1,2,3,4};
不完全初始化
int a[5]={1,2,4};//元素个数有五个,只初始化了前三个值,后面默认为0;
错误初始化
int a[4]={1,2,3,4,5};//元素个数有4个,这里下标到4了。说明数据溢出是错误初始化。
2.二维数组
完全初始化
int a[2][3]={1,2,3, 4,5,6 ,7,8,9};
不完全初始化
int a[2][5]={1,2}//这里是二行五列,只有第一行能初始化前两位后面的默认0来补齐。
第三种(省略行的初始化)
int a[][5]={{1,2},{2,3},{4,5}}//这里你可以理解为三个大括号代表了三行。
int a[][3]={1,3,4, 4,5,6 ,4,5,7}//这里不能省略列,因为省略了就不能确定一行存放几个元素。
最后分享一个,数组移动
#include <stdio.h>
//strlen的头文件
#include <string.h>
//sleep 的头文件
#include <windows.h>
//system的头文件
#include <stdlib.h>
//多个字符从两端移动,向中间汇聚
int main()
{
//定义两个数组。
char a1[] = { "you are best!!!" };
char a2[] = { "***************" };
//找出第一个和最后一个下标。
int left = 0;
int right = strlen(a1) - 1;
//数组存储是由低到高,所以当最大下标和最小下标重合时计算完就完成了遍历。
while (left<=right)
{
a2[left] = a1[left];
a2[right] = a1[right];
printf("%s\n", a2);
left++;
right--;
//减缓打印速度
Sleep(1000);
//清除打印的语句;
system("cls");
}
printf("%s\n", a2);
return 0;
}