初识C语言--第六天

---数组

        --一维数组

           -数组的定义     

        例:int arr[ ] = {1,2,3,4,5,6,7,8,9,10};

                (定义了一个可以储存10个元素的整型数组,数组名为arr)

        注意:数组名arr除了表示该数组之外,还表示该数组的首地址 

          -一维数组的初始化     

        定义数组时给所有元素赋初值,叫做 “ 完全初始化 ”。  例如;

                int a[5] = {1,2,3,4,5};

        通过将数组元素的初值依次放在一对花括号中,如此初始化之后,a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5,即从左到右依次赋给每个元素。需要注意的是,初始化时各元素间是用逗号隔开,不是用分号

        可以值给一部分元素赋值,这叫“不完全初始化”,例如;

                int a[5] = {1,2};

        定义的数组  a 有  5 个元素,但花括号内只提供两个初值,这表示只给前面两个元素  a[0]、a[1] 初始化,而后面三个元素都没有被初始化。不完全初始化时,没有被初始化的元素自动为  0。也不能写成“int a[5]={};”。如果大括号中什么都不写,那就是极其严重的语法错误。大括号中最少要写一个数。比如“int a[5]={0};”,这时就是给数组“清零”,此时数组中每个元素都是零。此外,如果定义的数组的长度比花括号中所提供的初值的个数少,也是语法错误,如“a[2]={1,2,3,4,5};”。

        -字符数组和字符串

       字符数组:有一个一个的字符组成的数组

                例:char arr1[5] = {'h','e'};        char arr2[8]  = {'a',98};     

        字符串:由双引号引起来的一串字符称为字符串字面值,简称字符串

        示例代码:

        输出结果:

        sizeof和strlen的区别:

        1、sizeof会将空字符\0计算在内,而strlen不会将空字符\0计算在内;

        2、sizeof会计算到字符串最后一个空字符\0并结束,而strlen如果遇到第一个空字符\0的话就会停止并计算遇到的第一个空字符\0前面的长度。

        -字符串的输入

        格式:scanf("%s",字符数组的首地址);

        功能:用户从键盘输入任意一段字符串,存放到buf中。以回车,空格,tab键盘作为用户输入的结束符号。

        --二维数组

                -二维数组的创建

        例:int  arr[3][4];

              char arr[3][5];

             double arr[2][4];

                -二维数组的初始化

        例:1int arr[3][4]={1,2,3,4};

                2int arr[3][5]={{1,2},{4,5}};

               3int arr[][4]={{2,3},{1,2}};

定义二维数组时,行数可以省略,系统会根据初始化元素的个数或行数来分配对应的内存空间

       (注意:数组在内存中是连续储存)

示例代码:

输出结果:

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值