第五篇:C语言数组

本文详细介绍了C语言中数组的基础概念,包括一维和二维数组的创建、初始化方法,数组下标与内存存储方式,以及C99中的变长数组特性。特别关注了sizeof和strlen这两个关键函数的应用。
摘要由CSDN通过智能技术生成
  • 一、数组的概念:数组分为一维数组和二维数组。多维数组一般比较多见的是二维数组
        1.数组是一组相同类型元素的集合;
            数组中存放的是一个或者多个数据,但是数组元素个数不能为0
            数组中存放的多个数据,类型是相同的

    二、一维数组的创建和初始化
        1.数组创建:char name[常量值]:存放在数组的值被称为数组的元素,数组在创建的时候可以指定数组的大小和数组的元素类型
            char:表示数组中存放的数据类型,可以是,char、short、int、float
            bane:表示数组的名字,可以自定义名字,不是关键字就行
            []:里面的常量值是用来指定数组的大小的,这个数组的大小是根据实际的需求指定
        
        2.数组的初始化:数组在创建的时候,需要给定一些初始值,这种就成为初始化,初始化一般使用大括号{},将数据放在大括号汇中,使用,号隔开
            {}里的数据个数要和[]里的值相等,{}里的值多的话,剩下值的默认都是0
            
        3.数组的类型:数组也是有类型的,数组算是一种自定义类型,去掉数组名留下的就是数组的类型
            1.int arr[10]:arr数组的类型就是int [10]
            2.char arr1[6]:arr数组的类型就是char [6]
            
            

    三、一维数组的使用
        1.数组下标:数组下标是从0开始的,假设数组有n个元素,那么最后一个元素的下标就是n-1
            比如 int[10] = {1,2,3,4,5,6,7,8,9,10},他们的下标就是从0~9。C语言提供了一个操作符[]用来访问下标,叫做下标引用操作符
            arr[5]:访问下标是5的元素,打印出来就是6。
            
        2.数组元素的打印:使用for循环打印
            

    四、一维数组在内存中的存储
        1.一维数组在内存中应该是连续存放的
            %p:用来打印地址的,以16进制的形式打印,同时最前面的0不会省略

    五、sizeof计算数组元素个数
        1.sizeof可以计算类型或者变量大小的,也可以计算数组的大小
            sizeof(数组名):计算的是整个数组的,单位是字节
            sizeof(arr[0]):计算一个元素所占空间的大小
            strlen:求字符串长度的,只能针对字符串

    六、二维数组的创建
        数组的元素都是内置类型的,如果我们吧一维数组作为数组的元素,这时候就是二维数组,二维数组作为数组元素的数组被称为三维数组,二维数组以上的数组统称为多维数组
        arr name [常量值(行)][常量值(列)]
        int arr [2][3]:二行三列

    七、二维数组的初始化
        在创建变量或者数组的时候,
        二维数组行可以省略,列不能省略
        
    八、二维数组的使用
        二维数组也是通过下标来访问数组中的数据的,下标都是从0开始的

    九、二维数组在内存中的存储
        二维数组在内存中也是连续存放的,一行存完存下一行,占4个字节
        
    十、C99中的变长数组
        arr[n]:变长数组不能初始化,只有输入的时候才能确定数组长度。
        它的好处是程序员不必在开发时,随意为数组指定一个估计的长度,程序可以在运行时为数组分配精确地长度

        提示:sizeof计算的是数组所占内存空间的大小,单位是字节
              strlen求的是字符串的长度,统计的是字符串中\0之前的字符的个数
        

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值