day7-数组、字符串

本文详细讲解了C语言中数组的定义、使用、初始化、赋值以及数组大小的计算。还介绍了字符串的概念,包括字符串与字符数组的区别,以及如何进行字符串的排序。此外,文章还探讨了字符串的常用操作,如`strlen`、`strcat`和`strcmp`函数的使用。
摘要由CSDN通过智能技术生成

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值