C語言中字符串的定義方法-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“C語言中字符串的定義方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站是一家網(wǎng)站設(shè)計公司,集創(chuàng)意、互聯(lián)網(wǎng)應用、軟件技術(shù)為一體的創(chuàng)意網(wǎng)站建設(shè)服務商,主營產(chǎn)品:響應式網(wǎng)站建設(shè)、高端網(wǎng)站設(shè)計成都營銷網(wǎng)站建設(shè)。我們專注企業(yè)品牌在網(wǎng)站中的整體樹立,網(wǎng)絡(luò)互動的體驗,以及在手機等移動端的優(yōu)質(zhì)呈現(xiàn)。網(wǎng)站建設(shè)、成都做網(wǎng)站、移動互聯(lián)產(chǎn)品、網(wǎng)絡(luò)運營、VI設(shè)計、云產(chǎn)品.運維為核心業(yè)務。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價值服務。

在C中定義字符串有下列幾種形式:字符串常量,char數(shù)組,char指針

1.字符串常量

即:位于一對雙括號中的任何字符。雙引號里的字符加上編譯器自動提供的結(jié)束標志\0字符,作為

一個字符串存儲在內(nèi)存中。如:printf("%s","hello"); //"hello"

如果字符串文字中間沒有間隔或間隔的是空格符,ANSI  C 會將其串聯(lián)起來。例:

char greeting[50] = "hello,and" "how are" "you";

等價于:

char greeting[50] = "hello,and how are you";

字符串常量屬于靜態(tài)存儲類。靜態(tài)存儲是指如果在一個函數(shù)中使用字符串常量,即使是多次調(diào)用了這個函數(shù),

該字符串在程序的整個運行過程中只存儲一份。整個引號的內(nèi)容作為指向該字符串存儲位置的指針。這一點與

把數(shù)組名作為指向數(shù)組存儲位置的指針類似。

2.字符串數(shù)組及其初始化

初始化例子:

char m[40] = "hello,world";  //定義字符串數(shù)組時必須指定數(shù)組大小(整型常量),在指定大小時,要確保數(shù)組的大小比預定的大一個,因為編譯器會自動添加'\0'。

//多余的元素會初始化為'\0'

char m={'h','e','l','\0'};  //注意標志結(jié)束的空字符,若沒有它,得到的只是一個字符數(shù)組而不是字符串

3.利用char指針定義字符串

char *m = "hello,world"; //自動添加'\0'

注意:此時字符串指針m指向字符串常量,不成用*(m+1)='o'修改此常量,因為這個字符串常量放在常量區(qū)不能被修改

4.數(shù)組和指針

數(shù)組形式和指針形式有什么不同呢?

數(shù)組形式: char m[40] = "hello,world";

指針形式: char *m = "hello,world";

數(shù)組形式:

編譯器會把數(shù)組名m看作是數(shù)組首元素的地址&m[0]的同義詞,m是個地址常量。可以用m+1來標識數(shù)組里的下一個元素,但不能使用++m,增量運算符只能在變量前使用, 而不能在常量前使用。

m[40]在計算機內(nèi)存中被分配一個有40個元素的數(shù)組(其中每個元素對應一個字符,還有一個附加的元素對應結(jié)束的空字符'\0')。每個元素都被初始化為相應的字符。

通常,被引用的字符串存儲在可執(zhí)行文件的數(shù)據(jù)段部分;當程序被加載到內(nèi)存中時,字符串也被加載到內(nèi)存中,把被引用的字符串復制到數(shù)組中

指針形式:

指針形式(*m)也會在靜態(tài)存儲區(qū)為字符串預留空間。此外,一旦程序開始執(zhí)行,還要為指針變量m另外預留一個存儲位置,以在該指針變量中能夠存儲字符串的地址。

m指向字符串的第一個字符,可用++m指向第二個字符。  指針m是個變量。

“C語言中字符串的定義方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前標題:C語言中字符串的定義方法-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://muchs.cn/article40/dpdpho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)網(wǎng)站導航、移動網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、響應式網(wǎng)站網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設(shè)