第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

聲明的字符串和分配的字符串之間的區(qū)別

聲明的字符串和分配的字符串之間的區(qū)別

C
紅顏莎娜 2019-12-04 10:15:50
I.  char *str = "Stack";II. char *str = (char*) malloc(6);    strcpy(str, "Stack");兩種方法有什么區(qū)別?它們是相同還是不同?
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經(jīng)驗 獲得超3個贊

在第一種情況下,您的指針指向const char*在進程存儲器的只讀部分分配的a 。
在第二種情況下,您將動態(tài)分配內(nèi)存,最后將字符串“ Stack”復(fù)制到您分配的內(nèi)存中。

您最終必須使用釋放II的內(nèi)存free。


查看完整回答
反對 回復(fù) 2019-12-04
?
SMILET

TA貢獻1796條經(jīng)驗 獲得超4個贊

忘記其他聲稱不正確的內(nèi)部堆棧存儲答案。(哦,現(xiàn)在這些答案已被刪除。)

case I:您有一個指向str內(nèi)容為的只讀存儲區(qū)(該.rodata部分)的指針"Stack"。

case II:您有一個指針str,該指針指向動態(tài)分配的區(qū)域(在堆中),其內(nèi)容為"Stack",該區(qū)域是可修改的,free(str)使用后應(yīng)通過調(diào)用來釋放。


查看完整回答
反對 回復(fù) 2019-12-04
  • 3 回答
  • 0 關(guān)注
  • 433 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號