第08天C語言(04):字符串-基本概念

一、概念
/*
 用雙引號 引起來的就是字符串
 字符串 是由什么組成的? 字符"串", 羊肉"串"
 
 */
二、代碼
#include <stdio.h>
int main()
{
    // 如何定義字符串變量, 由于字符串是同一種類型的數據組成,并且是有序的,而數組就是用于存儲很多同一種類型的有序數據,所有可以使用數組來保存字符串

    // 注意: 字符串變量 和 普通的字符數組 有一定的區別
    // C語言規定,字符串 必須以\0結尾(作為字符串的結束符號),所以字符串變量的元素個數 比 字符數組的元素個數多一個 \0
    
    /*
    char str[] = "lyh"; // 字符串變量 l y h \0
    printf("str size = %lu\n",sizeof(str));
    char charValue[] = {'l','y','h'}; // 字符串數組 ,這個并不是字符串,而是字符數組
    printf("charValue size = %lu\n",sizeof(charValue));

    int num = 10;
    float floatValue = 10.2f;
    double doubleValue =3.3;
    char charValue1 = 'm';
    printf("%i,%f,%lf,%c\n",num,floatValue,doubleValue,charValue1);
    */
    
    /*
    // 內存尋址 從大到小
    char str[] = "lyh"; // 字符串變量
    char str2[] = {'s' ,'\0','d','f'}; // 字符數組
    // 如何輸出字符串變量 , %s
    printf("str = %s\n",str2);
    // %s 的原理, 從傳入的"地址"開始 逐個取出, 知道遇到"\0"位置
     */
    
    
    // 字符串注意點, 字符串的初始化
    char str[] = "lyh";
    char str2[] = {'l' ,'y','h','\0'};
    // 部分初始化, 部分初始化, 沒有被初始化的元素 默認是0
    char str3[10] = {'l' ,'y','h'}; // lyh 0000000
    char str4[3] = {'l' ,'y','h'}; // 該方式不是字符串,而是字符串數組,因為沒有\n
    char str5[] = {'l' ,'y','h'};
    // 需要明白的一點 就是字符串 以\0結尾, 沒有\0就不是字符串
    // 只要用雙引號 括起來的 都是字符串
    // 字符串的本質是數組
    char str6[] = "lyh";
    str6[1] = 's';
    
    printf("str = %s\n",str6);
    return 0;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容