美文网首页
C基础-字符串初始化

C基础-字符串初始化

作者: aositeluoke | 来源:发表于2020-02-25 22:05 被阅读0次

      在学习过程中,难免会遇到一些挫折,比如字符串的初始化后长度的获取问题。一般来说,我们都会使用strlen函数来获取字符串的长度,但是得到的是否正确,取决于您初始化的字符数组中是否有终止符'\0',没错,就是反斜杠0,下面通过一段简短的代码来分析分析~~

    void charArrayInit() {
        char arra1[] = {'x', 'u', 'e', 'n', 'g'};//无结束符
        char arra2[1] = {'A'};//无结束符
        char arra3[1];//有结束符,第一个元素为结束符
        char arra4[3] = {'1', '2'};//有结束符,系统会在第三个位置填充结束符
        char arra5[5] = {'1', '2', '3', '4', '5'};//无结束符
        char arra6[] = "xuensheng";//有结束符
        printf("arra1数组字符串:%s,数组长度:%d\n", arra1, strlen(arra1));
        printf("arra2数组字符串:%s,数组长度:%d\n", arra2, strlen(arra2));
        printf("arra3数组字符串:%s,数组长度:%d\n", arra3, strlen(arra3));
        printf("arra4数组字符串:%s,数组长度:%d\n", arra4, strlen(arra4));
        printf("arra5数组字符串:%s,数组长度:%d\n", arra5, strlen(arra5));
        printf("arra6数组字符串:%s,数组长度:%d\n", arra6, strlen(arra6));
    }
    

    打印结果


    image.png

    通过实验,我们得出以下结论

    1、指定数组长度且在花括号中初始化的数组存在一个空位时,系统默认填充结束符'\0'
    2、未指定数组长度且使用双引号初始化的数组,系统默认在最后一个位置填充结束符'\0'

    推荐阅读
    1、不见得你会计算C字符串长度

    相关文章

      网友评论

          本文标题:C基础-字符串初始化

          本文链接:https://www.haomeiwen.com/subject/gsbqchtx.html