簡體   English   中英

C字符串數組和初始化

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM