c語言字符串占據字節數


# include <stdio.h>
//字符串占據的字節數 
/*
不能將一個字符串常量賦給一個字符變量
為什么不能將一個字符串常量賦給一個字符變量?可以從兩個方面作出解釋:
前面講過,字符變量用 char 定義。一個字符變量中只能存放一個字符。而字符串一般都有好多字符,占多字節。
所以不能將多個字符賦給只占一字節的變量。那么如果字符串常量的雙撇號內什么都不寫,
此時就只有一個字符 '\0',那么此時可不可以將它賦給字符變量?不可以!原因看下面第二點。
字符串是指一系列字符的組合。在 C 語言中,字符變量的類型用 char 定義。
我們這里講的是數據類型,但是字符串不屬於數據類型,也就不存在字符串變量。
一種類型的變量要想存儲某個對象,必須能兼容該對象的數據類型,而字符串連數據類型都算不上,又怎么能將它賦給字符變量呢?
所以在 C 語言中,任何數據類型都不可以直接存儲一個字符串。那么字符串如何存儲?
在 C 語言中,字符串有兩種存儲方式,一種是通過字符數組存儲,另一種是通過字符指針存儲。
*/ 
int main()
{
    printf("%d\x20", sizeof(""));//\x20表示16進制,對應十進制32,對應的字符是空格 
    printf("%d\x20", sizeof("a"));
    printf("%d\x20", sizeof("CHINA"));
    printf("%d\x20", sizeof("How are you"));
    printf("%d\x20", sizeof("I love you"));
    printf("%d\n", sizeof("你好"));
    return 0;
}

結果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM