日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

C語(yǔ)言中,字符數(shù)組和字符串指針都可以用來(lái)存儲(chǔ)字符串:

char *pstr = "china";

char str[] = "china";

但兩者在內(nèi)存中的存儲(chǔ)區(qū)域是不一樣的:

  • 字符指針的字符串存儲(chǔ)在常量區(qū);
  • 而字符數(shù)組則存儲(chǔ)在棧區(qū)。

如下圖所示,字符指針pstr指向字符串"china"常量的首地址,字符數(shù)組str指向的是在棧區(qū)的地址。

C語(yǔ)言字符串?dāng)?shù)組和字符串指針的區(qū)別

 

棧區(qū)的字符串(也包括其他數(shù)據(jù))有讀取和寫入的權(quán)限,而常量區(qū)的字符串(也包括其他數(shù)據(jù))只有讀取權(quán)限,沒有寫入權(quán)限。因此,帶來(lái)兩方面的區(qū)別。

1、指向內(nèi)容的可變性

字符串一旦被創(chuàng)建就存在于常量池中。

char *pstr = "china";

這是對(duì)字符指針進(jìn)行初始化,此時(shí)字符指針指向一個(gè)字符串常量的首地址,常量是不能改變的。

char str[] = "china";

這是以字符數(shù)組形式創(chuàng)建的字符串,實(shí)際上是從字符串常量池中復(fù)制了一個(gè)副本,所以修改字符數(shù)組的內(nèi)容時(shí),只是修改的自己的副本,并不會(huì)影響到常量池中的字符串。

下面代碼直接修改 pstr[0] 的值是錯(cuò)誤的(能夠正常編譯和鏈接,但在運(yùn)行時(shí)會(huì)出現(xiàn)段錯(cuò)誤(Segment Fault)或者寫入位置錯(cuò)誤);而修改 str[0] 的值則是可以的。

C語(yǔ)言字符串?dāng)?shù)組和字符串指針的區(qū)別

 

2、值的可變性

pstr 和 str 都是指針,但 pstr 是個(gè)變量,它的值是可以改變的,比如可以指向另一個(gè)字符串;而 str 指向的是本數(shù)組的首元素的地址,不能再變。

C語(yǔ)言字符串?dāng)?shù)組和字符串指針的區(qū)別

 

總結(jié)一下,C語(yǔ)言有兩種表示字符串的方法:一種是字符數(shù)組,另一種是字符串常量,它們?cè)趦?nèi)存中的存儲(chǔ)位置不同,使得字符數(shù)組可以讀取和修改,而字符串常量只能讀取不能修改。

值的可變性:

  • 指針變量的值(pstr)是可以改變的,就是地址的改變;
  • 數(shù)組名的值(str)是不能改變的,它只能指向本數(shù)組的首元素地址。

指向的內(nèi)容值:

  • 字符指針數(shù)組內(nèi)的元素的值是常量,在內(nèi)存的常量區(qū),不能發(fā)生改變;
  • 字符數(shù)組內(nèi)的元素是變量,在內(nèi)存的棧區(qū),是可以改變的。

在編程時(shí),若只需要到對(duì)字符串的讀取,那么字符數(shù)組和字符串常量都能滿足要求;若有寫入(修改)操作,則只能使用字符數(shù)組,不能使用字符串常量。

分享到:
標(biāo)簽:語(yǔ)言
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定