亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C / C ++ int []與int *(指針與數組表示法)。有什么不同?

C / C ++ int []與int *(指針與數組表示法)。有什么不同?

C++ C
12345678_0001 2019-11-30 10:46:37
我知道C中的數組只是指向順序存儲的數據的指針。但是什么不同意味著符號[]和*的不同。我的意思是在所有可能的用法上下文中。例如:char c[] = "test";如果您在函數體中提供此指令,它將在堆棧上分配字符串,而char* c = "test";將指向數據(只讀)段。您能否在“所有使用情況”上下文中列出這兩種表示法之間的所有差異,以形成清晰的常規視圖。
查看完整描述

3 回答

?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

char c[] = "test";

這將創建一個包含字符串test的數組,因此您可以修改/更改任何字符,例如


c[2] = 'p';

但,


char * c = "test"

這是一個字符串文字,它是一個const char。

因此,對此字符串文字進行任何修改都會使我們產生段錯誤。所以


c[2] = 'p';

現在是非法的,并給我們帶來了段錯誤。


查看完整回答
反對 回復 2019-11-30
  • 3 回答
  • 0 關注
  • 1080 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號