2020-03-05 09:05:13來源:華清遠見成都中心
字符常量是由一對單撇號括起來的單個字符,如 ‘a’、‘C’、‘?’,‘$’。在C語言中,除了字符常量還有字符串常量以及字符串變量,先來講一下字符串常量的個人理解:
(1)常量本質在于不可更改,而字符串常量是就是一對雙引號括起來的字符序列常量。例如“hello word”C語言中規(guī)定,在每一個字符串常量的結尾,系統(tǒng)都會自動加一個字符’\0’作為結束標志符。而‘\0’在ascii碼中為0字符,不起任何控制作用,也不是一個顯示的字符。不過在計算字符常量的內存大小時,雙撇號內有n個字符,那么內存大小為n+1個字節(jié)。
(2)字符串變量,值得注意的是字符串常量不能賦給一個字符變量,字符串是一連串字符,而字符變量僅可以存儲一個字符,而且字符串并不屬于數據類型,故C語言中任何數據類型的變量都不能直接存儲一個字符串,那么字符串如何存儲?C語言中有兩種存儲字符串的方式,一種是通過字符數組存儲,一種是通過字符指針存儲。
C語言中通常使用字符數組作為字符串變量來存放一個字符串,數組中每一個元素存放一個字符,例如“char a[10]="love"”。上例其中a[10]作為存儲字符串常量“love”的字符數組,而字符數組也被字符串“love”初始化其內存空間。而字符數組名就是其存儲的字符串常量首地址。
另外,字符指針存儲其實質是將字符串首地址賦給字符指針,并且內存位置也是以字符串首地址往后的一片內存空間。例如:char *buf=“hello”,其中buf為字符串首地址,字符串存儲為buf地址開始的連續(xù)內存空間,可以使用buf++遍歷字符串。值得注意的一點是*buf為指向字符串首地址內容,即字符h所在地址。若想輸出打印字符串,使用buf++遍歷是一種,也可以利用字符串首地址以字符串格式輸出打印,例如:printf(“%s”,buf);
一級建造師 二級建造師 消防工程師 消防設施操作員 BIM 造價工程師 環(huán)評師 監(jiān)理工程師 咨詢工程師 安全工程師 建筑九大員 公路水運檢測 通信工程 智慧消防工程師 裝配工程師 一級注冊建筑師 二級注冊建筑師 注冊電氣工程師 智慧建造工程師 房地產估價師 EPC工程總承包 碳排放管理師 雅思 托福 GRE 托業(yè) SAT GMAT A-Level ACT AP課程 OSSD 多鄰國英語 考研英語 英語四六級 商務英語 青少兒英語 IB英語 劍橋英語 職場英語 提升英語 AEAS 英語口語 出國英語 初高中英語 學生英語 成人英語 公共英語 詞庫 經濟師 初級會計師 中級會計師 注冊會計師 基金從業(yè) 證券從業(yè) 薪稅師 銀行從業(yè) CMA ACCA 會計實訓 稅務師 CFA 企業(yè)合規(guī)師 審計師 FRM 高級會計師 稅務師 期貨從業(yè) CQF 真賬實操技能 葡萄牙語 日語 德語 法語 韓語 西班牙 意大利 高考小語種 粵語 泰語 俄語 阿拉伯語 電商視覺設計 影視后期 剪輯包裝 游戲設計 游戲程序 UI設計 室內設計 UXD全鏈路 平面設計 CAD設計制圖 商業(yè)空間設計