您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)c語(yǔ)言中char型數(shù)據(jù)在內(nèi)存中的儲(chǔ)存形式是什么的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
在c語(yǔ)言中char型數(shù)據(jù)在內(nèi)存中的儲(chǔ)存形式為“ASCII碼”。在C語(yǔ)言中,將一個(gè)字符常量放到一個(gè)字符變量中,實(shí)際并不是把該字符本身放到內(nèi)存單元中,而是將與該字符相對(duì)應(yīng)的ASCII碼放到存儲(chǔ)單元中。
本教程操作環(huán)境:windows7系統(tǒng)、c99版本、Dell G3電腦。
在c語(yǔ)言中char型數(shù)據(jù)在內(nèi)存中的儲(chǔ)存形式為“ASCII碼”。
教程
c語(yǔ)言 char型
字符型數(shù)據(jù)類型就是字符
1、字符數(shù)據(jù)的表示
字符型數(shù)據(jù)是用單引號(hào)括起來(lái)的一個(gè)字符。例如:
'a'、'b'、'='、'+'、'?'都是合法字符型數(shù)據(jù)。
在C語(yǔ)言中,字符型數(shù)據(jù)有以下特點(diǎn):
字符型數(shù)據(jù)只能用單引號(hào)括起來(lái),不能用雙引號(hào)或其它括號(hào)。
字符型數(shù)據(jù)只能是單個(gè)字符,不能是字符串。
字符可以是字符集中任意字符。但數(shù)字被定義為字符型之后就不能參與數(shù)值運(yùn)算。如'5'和5 是不同的。'5'是字符型數(shù)據(jù),不能參與運(yùn)算。
轉(zhuǎn)義字符
轉(zhuǎn)義字符是一種特殊的字符。轉(zhuǎn)義字符以反斜線"\"開(kāi)頭,后跟一個(gè)或幾個(gè)字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符。
轉(zhuǎn)義字符主要用來(lái)表示那些用一般字符不便于表示的控制代碼。
常用的轉(zhuǎn)義字符及其含義 | ||
轉(zhuǎn)義字符 | 轉(zhuǎn)義字符的意義 | ASCII代碼 |
\n | 回車(chē)換行 | 10 |
\t | 橫向跳到下一制表位置 | 9 |
\b | 退格 | 8 |
\r | 回車(chē) | 13 |
\f | 走紙換頁(yè) | 12 |
\\ | 反斜線符"\" | 92 |
\' | 單引號(hào)符 | 39 |
\” | 雙引號(hào)符 | 34 |
\a | 鳴鈴 | 7 |
\ddd | 1~3位八進(jìn)制數(shù)所代表的字符 | |
\xhh | 1~2位十六進(jìn)制數(shù)所代表的字符 |
2、字符類型說(shuō)明符
字符變量的類型說(shuō)明符是char。字符變量類型定義的格式和書(shū)寫(xiě)規(guī)則都與整型變量相同。例如:
char a,b;
3、字符變量在內(nèi)存中的存儲(chǔ)形式及使用方法
每個(gè)字符變量被分配一個(gè)字節(jié)的內(nèi)存空間,因此只能存放一個(gè)字符。字符值是以ASCII碼的形式存放在變量的內(nèi)存單元之中的。
如x的十進(jìn)制ASCII碼是120,y的十進(jìn)制ASCII碼是121。對(duì)字符變量a、b賦予'x'和'y'值:
a='x';
b='y';
實(shí)際上是在a、b兩個(gè)單元內(nèi)存放120和121的二進(jìn)制代碼:
例:向字符變量賦以整數(shù)。
#include<stdio.h> int main(void) { chara,b; a=120; b=121; printf("%c,%c\n",a,b); printf("%d,%d\n",a,b); return0; }
本程序中定義a,b為字符型,但在賦值語(yǔ)句中賦以整型值。從結(jié)果看,a,b值的輸出形式取決于printf函數(shù)格式串中的格式符,當(dāng)格式符為"c"時(shí),對(duì)應(yīng)輸出的變量值為字符,當(dāng)格式符為"d"時(shí),對(duì)應(yīng)輸出的變量值為整數(shù)。
由此可以看出:
(1)小寫(xiě)的ASCII碼比大寫(xiě)的ASCII碼大32
(2)后面的ASCII碼比前面的ASCII碼大
(3)'3'要變化成3需要‘3’-‘0’=3
4、字符串
字符串是由一對(duì)雙引號(hào)括起的字符序列。例如: "CHINA" ,“C program” , "$12.5" 等都是合法的字符串。
字符串和字符不同,它們之間主要有以下區(qū)別:
字符由單引號(hào)括起來(lái),字符串由雙引號(hào)括起來(lái)。
字符只能是單個(gè)字符,字符串則可以含一個(gè)或多個(gè)字符。
可以把一個(gè)字符型數(shù)據(jù)賦予一個(gè)字符變量,但不能把一個(gè)字符串賦予一個(gè)字符變量。
字符占一個(gè)字節(jié)的內(nèi)存空間。字符串占的內(nèi)存字節(jié)數(shù)等于字符串中字節(jié)數(shù)加1。增加的一個(gè)字節(jié)中存放字符"\0" (ASCII碼為0)。這是字符串結(jié)束的標(biāo)志。
例如,字符串 "C program" 在內(nèi)存中所占的字節(jié)為:10個(gè)字節(jié)
字符'a'和字符串"a"雖然都只有一個(gè)字符,但在內(nèi)存中的情況是不同的。
'a'在內(nèi)存中占一個(gè)字節(jié),"a"在內(nèi)存中占二個(gè)字節(jié),
感謝各位的閱讀!關(guān)于“c語(yǔ)言中char型數(shù)據(jù)在內(nèi)存中的儲(chǔ)存形式是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。