C語言的字符串類型


C語言使用指針來管理字符串
(1)C語言中定義字符串的方法:char *p = "linux";此時p就叫字符串,但是實際上p只是一個字符指針(本質上就是一個
指針變量,只是p指向了一個字符串的起始地址而已)。
(2)C語言中字符串的本質:指針指向頭、固定尾部(字符串總是以‘\0’來結尾)、地址相連的一段內存
(3)字符串就是一串字符。字符反映在現實中就是文字、符號、數字等人用來表達的字符,反映在編程中字符就是字符類型的
變量。C語言中使用ASCII編碼對字符進行編程,編碼后可以用char型變量來表示一個字符。字符串就是多個字符打包在一起共同
組成的。
(4)字符串在內存中其實就是多個字節連續分布構成的(類似於數組,字符串和字符數組非常像)
(5)'\0'是一個ASCII字符,其實就是編碼為0的那個字符(0等於'\0','0'等於48)
(6)'\0'作為一個特殊的數字被字符串定義為結尾標志。產生的副作用就是:字符串中無法包含'\0'這個字符。
(7)指向字符串的指針和字符串本身是分開的兩個東西。char *p = "linux";在這段代碼中,p本質上是一個字符指針,占4字節;
"linux"分配在代碼段,占6字節;實際上總共耗費了10個字節,在這10個字節中:4字節的指針p叫做字符串指針(用來指向字符串的,
理解為字符串的引子,但是它本身不是字符串),5字節的用來的存Linux這5個字符的內存才是真正的字符串,最后一個用來存'\0'的
內存是字符串結尾標志(本質上也不屬於字符串)。
(8)存儲兩個字符的2種方式:字符串和字符數組
    char *p = "linux";   //字符串
 char a[] = "linux";  //字符數組


免責聲明!

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



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