C语言学习day9

    2.二维数组
        二维数组定义:
            由n个数据类型相同的一维数组所组成的数组
            int a;  类型名:int
            int arry[10]; 类型名:int   [10]
            在变量定义中,去掉变量名,即为类型名
            根据此种定义,可以得到:
                int arry[5][10]中,存在的是有5个一维数组arry[10],因此是5行10列
                int arry类型为 int     [5][10]
        二维数组访问:
            int [m][n];
            m:访问二维数组中的第m+1个元素(一维数组)
            n:访问二维数组中的第m+1个元素(一维数组)中的第n+1个元素(元素)
        二维数组的初始化:
            全局初始化:
                int arry[2][3] = {{1,2,3},{4,5,6}}
                int arry[2][3] = {1,2,3,4,5,6}
                两者等价
            局部初始化
                int arry[2][3] = {{1,2},{3,4}}
                int arry[2][3] = {1,2,3,4}
            默认初始化
                int arry[][3] = {{1,2,3},{4,5,6}}
                int arry[][3] = {1,2,3,4,5,6}
                以上两者等价
                int arry[][3] = {0};
                int arry[][3] = {{0}};
                以上两者均可以将所以元素初始化为0;
    3.字符型数组
        定义:
            由n个字符型数据元素所组成的数组
            char str[1024] = {0};
        字符型数组访问:
            数组名[下标]
        字符型数组初始化:
            定义字符串数组时,系统会自动添加\0字符
            全部初始化
                char str[5] = {'h','e','l','l','o'}; 保存五个字符,不是字符串
                char str[6] = {'h','e','l','l','o','\0'}; 保存六个字符,是字符串
                char str[6] = {"hello"}; 等价于 char str[6] = "hello"
            局部初始化
                char str[10] = "hello";
                char str[10] = "\0"
            默认初始化
                char str[] = {'h','e','l','l','o'}; 不是字符串 
                char str[] = "hello"; 是字符串
        字符型数组操作
            输入:
                scanf("%s",str);
                gets(str);
            输出:
                printf("%s",str);
                puts(str);
            字符型数组中字符串遍历的一般条件
                while(str[i] != '\0')
                {
                
                }
            字符串有效字符数量统计(不包括'\0')
                strlen
                #include<string.h>
                size_t strlen(const char *s);
            字符串拷贝
                需要用到strcpy函数
                #include<string.h>
                char *strcpy(char *dest,const char *src)
                dest:目标空间
                src:源空间
                函数返回值:目标空间的地址标号
            字符串拼接
                需要用到strcat函数
                #include<string.h>
                char *strcat(char *dest,const char *src);
                dest:目标空间
                src:源空间
                函数返回值:目标空间的地址标号

补充:

        1.作业2中初次结果出错,用到语句

                while(str[i++] != '\0')

        //用以统计输入字符串的字符长度,但实际结果不正确,因为在此过程中最后一次判断到'\0'字符时,尽管会跳出循环,但i++依然会执行,因此所得结果永远会比输入的长度多1

        while(str[i] != '\0'){i++;}//是正确解决方案

        2.在作业1中,另外一种常见错误,在初始化整型变量时,用到语句

                int i, j = 0;//是一种典型错误,这种初始化方式,只会将j初始化为0

                int i = 0,j = 0;//是正确解决方案

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值