美文网首页十天学会C语言程序员
C语言day08-04字符串的基本概念

C语言day08-04字符串的基本概念

作者: liyuhong165 | 来源:发表于2016-05-01 00:30 被阅读57次

    pragma mark 字符串的基本概念

    pragma mark 概念

    pragma mark 代码

    #include <stdio.h>
    int main()
    {
    #warning 字符串的原理
        /*
        // 用双引号引起来的就是字符串
        printf("Hello world!\n");
        
        // 字符串是由什么组成的? 字符"串",羊肉"串"
        
        // 如何定义字符串变量,由于字符串是同一种类型的数据组成,并且是有序的\
        而数组就是用于存储很多同一一种类型的有序数据,所以可以使用数组保存字符串
        
        // 注意: 字符串变量和普通的字符数组有一定的区别
        // C语言规定,字符串必须以\0结尾(作为字符串的结束符号),所以字符串变量的元素个数比字符数组的元素个数一个 \0
        
        char str[] = "lyh"; // 字符串变量 l y h \0
        printf("str size = %lu\n",sizeof(str));
        
        char charValues[] = {'l','y','h'};//字符数组 , 这个并不是字符串,而是字符数组
        printf("charValue size = %lu\n",sizeof(charValues));
        
        int num = 10;
        float floatValue = 10.1f;
        double doubleValue = 9.9;
        char charValue = 'l';
        printf("%i,%f,%lf,%c\n",num,floatValue,doubleValue,charValue);
        */
     
    #warning 字符串和字符数组 %s的原理
        /*
        // 内存寻址从大到小
        char str[] = "lyh"; // 字符串变量
        char str2[] = {'h','\0','t','h'}; // 字符数组
        // 如何输出字符串变量, 占位符 %s
        // str 数组的名称,数组的名称就是数组的地址
        printf("str = %s\n",str2);
         
        // %s的原理,从传入的"地址"开始 逐个取出,直到遇到\0为止
         */
    #warning 字符串的注意点
        // 字符串注意点,字符串的初始化
        char str1[] = "lyh";
        char str2[] = {'l','y','h','\0'};
        
        // 部分初始化,部分初始化中,没有被初始化的元素默认是0
        // \0对应的ASCII 0
        char str3[10] = {'l','y','h'};  // lyh 0000000
        char str4[3] = {'l','y','h'}; // 改方式不是字符串,而是字符数组,因为没有\0
        char str5[] = {'l','y','h'};
        // 需要明白的一点就是字符串以\0结尾,没有\0就不是字符串
        // 只要是用双引号扩起来的都是字符串
        // 字符串的本质就是数组
        
        char str6[] = "lyh";
        str6[1] = 'g';
        printf("%s\n",str6);
    
        return 0;
    }
    
    
    

    相关文章

      网友评论

      • 6fdc6958f4a7:最后str6打印出来为什么是"tlgh" 这个t是怎么来的呢
        6fdc6958f4a7: @liyuhong165 谢谢😬
        liyuhong165:@沙城_13a2 你把str2注释 因为缓存区有 所以你是先输出str2

      本文标题:C语言day08-04字符串的基本概念

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