理解char* 和char[]
在C 程式設計中處理字元陣列和指標時,掌握char str[] = "Test "; 之間的根本區別和char *str = "Test";.
char str[] = "Test";
在此聲明中,str表示字元(chars)陣列具有固定大小,用字串“Test”的內容初始化。該數組擁有自己的內存,並且與原始字串文字不同。對 str 的任何修改都會改變資料的本機副本,而不是「Test」字串本身。
char *str = "Test";
這裡,str是一個指針,特別是指向字串文字「Test」的第一個字元的指針。指標儲存的是該字元的記憶體位址。然而,重要的是要記住 str 並不擁有儲存字串的記憶體;它擁有儲存字串的記憶體。相反,它指向只讀(const)字串文字。因此,任何更改 str 指向的字串的嘗試都將導致未定義的行為。
主要區別:
以上是C 中「char*」和「char[]」有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!