数组与字符串
-----------ASP.Net+Unity开发、.Net培训、期待与您交流!-------------
一、数组
1. 什么是数组
数组,就是一组数据的意思,数组的作用就是用来存储一组数据的;
2. 数组的特点
只能用来存放一种类型的数据,不能重复;
其中每个数称之为元素,都有其对应的下标;
二、数组的定义
1. 格式
元素类型 数组名[元素个数]; 比如int a[5] = {1,2,3,4,5,};
2. 初始化
int a[3] = {1,2,3,};
int a[] = {1, 3, 5}; 表示里面有3个数;
int a[5] = {[0]=5,[2] = 6}; 表示对某个值进行赋值,即a[0] = 5,a[2] = 6,其它为0;
3. 错误类型
int a[]; 没写元素个数;int[5]a;
a[5] = {1,2,3,4,5};
a = {3,6};
4. 内存分析
存储空间的划分(内存的分配是从高地址到低地址进行的,但一个数组内部元素又是从低到高进行的;
数组名 ,相当与数组的地址,它不占用内存空间,它也不会发生改变;
5.数组作为函数
数组作为函数参数,类似于指针,它是将数组的地址传给函数;
数组元素作为函数参数传递,将是值传递,并不会发生改变;
6、数组的遍历
int num[5] = {1,2,3,4,5};
int lenth = sizeof(num); / sizeof(int); 计算数组的长度;
for (int i = 0;i < lenth;i++) 循环输出;三、 二维数组
1. 什么是二维数组
2. 存储
a[1] a[1]a[0]
a[1]a[1]
a[1]a[2]
大概以上图的方式存储;
3.初始化
int a[3][4] = {1,2,3,4,5,6};
int a[3][4] = {{1,2},{2,3,4,5},{}};
int a[][5] = {3,2,1,4,9,8};
4. 遍历数组
四、 字符串
1. 什么是字符串
2. 字符串的初始化
3.字符串的接收与输出
int num; scanf("%s",num);
printf("%s",num);4.字符串处理函数
strlen :计算字符串的长度;
5.字符串的打印
char a[] = "dfkj";
for(int i = 0;a[i]!='\0';i++)printf("a[%d]=%c",i,a[i]);
五、 字符串数组
1.使用场合
一维字符数组中存放一个字符串,如果要存储多个字符串,比如一个班所有学生的名字,
就要用到二维字符数组;
char studentName[50][20]; 表示存放50人的姓名;
2.初始化
char names1[2][10] = {'s','l','\0'}, {'x','m','\0' };
char names2[2][10] = { {"sl"}, {"xm"} };
char names3[2][10] = { "sl", "xm" };
六.小结
数组字符串,说到底就是一些相同类型数据的集合,为了不必一个一个定义,我们应用数组字符串更为方便。