day07
--------------------------------------------------------------
数组
需要存储大量 同种类型的数据的时候。
数组的使用
先定义再使用
定义格式:元素数据类型 数组名[元素总个数];
存储 同学的姓名 --- 设计稍微长一点
分析:
元素的数据类型:除了数组名[元素个数]剩下的就是元素的数据类型
数组的类型:除了 数组名 剩下就是它的类型
存储数据
定义的时候就复制 --- 初始化
int a[5] = {10,20,30,40,50};
初始化的时候可能省略个数
int c[] = {10,20,30,40};
int c[]; // 不会开空间。
根据下标赋值
空间:数组名[下标]
地址:&数组名[下标]
输入赋值
根据数组名进行操作。
数组名是数组首元素的地址。
地址:数组名 数组名+1.....
空间:解地址 *(地址) *(数组名) *(a+1)
数组里面的元素是连续的,下标也是连续的。
数组操作:数组+循环
------------------------------------------------------------------------------------
1、数组的大小以及元素个数
sizeof(空间名字 / 空间的类型)
int a[3];
printf("%d",sizeof(a)); // 12 a代表数组大集合
printf("%d",sizeof(int [3])); // 12
double b[4]; // 32个
int *是占4个
int *arr[4]; // 4*4=16
int c[] = {2,3,5,1,0};
sizeof(c) // 20个字节 = 5 * 4
sizeof(c) / sizeof(c[0]) sizeof(c) / sizeof(int)
元素个数 == sizeof(数组名) / sizeof(数组名[0]);
int d[] = {1,2,4,56,8,0,23,45,79,1,23,44,567,7,88,2,2};
int len = sizeof(d) / sizeof(d[0]);
printf("%d",len);
---------------------------------------------------------
char str[] = "12131323"; // 字符串有一个结束符号\0 {'1','2','1','2','1','3','2','3','\0'}
printf("%d",sizeof(str)/sizeof(str[0])); // 9
2、整型数组的排序 --- 冒泡排序
int a[] = {1,4,6,8,0,24,-1,29};
从小到大或者从大小的形式排列
从小到大
int b[] = {3,5,9,7,2,1}; // {1,2,3,5,7,9}
排序算法:
轮数:个数-1 5轮
比较的两个数据都是相邻位置进行比较 前面数大 后面数小的时候交换位置。
每一轮比较的下标都是从0 和1开始到??????
第一轮:
0 1
1 2
2 3
3 4
4 5
第二轮:
0 1
day7-数组、字符串
于 2023-09-20 10:11:18 首次发布
本文详细讲解了C语言中数组的定义、使用、初始化、赋值以及数组大小的计算。还介绍了字符串的概念,包括字符串与字符数组的区别,以及如何进行字符串的排序。此外,文章还探讨了字符串的常用操作,如`strlen`、`strcat`和`strcmp`函数的使用。
摘要由CSDN通过智能技术生成