溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

c語(yǔ)言中char型數(shù)據(jù)在內(nèi)存中的儲(chǔ)存形式是什么

發(fā)布時(shí)間:2021-01-29 09:35:12 來(lái)源:億速云 閱讀:1519 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(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ò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI