[英]C array of strings and initialisation
是
char* array[] = {"first","second","other one","last"};
一個char *數組?
即使將字符串強制轉換為char *,也無法修改字符串(array [0],...)。 字符串放在哪里?
不能被修改=“ array[0][0] = 'a'
”; 不起作用。
它是一個char*
數組,但是您已經使用字符串文字對其進行了初始化。 這些是只讀的,嘗試修改它們是未定義的行為。
編譯器通常將文字存儲在可執行映像的只讀段中,這可能是為什么您在嘗試修改內容時看到分段錯誤的原因。
您的字符串類型為const char *
,可以存儲在ROM中。 指向這些位置的指針存儲在數組中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.