在c語言中char型資料在記憶體中的儲存形式為「ASCII碼」。在C語言中,將一個字元常數放到一個字元變數中,實際上並不是把該字元本身放到記憶體單元中,而是將與該字元相對應的ASCII碼放到儲存單元中。
本教學操作環境:windows7系統、c99版本、Dell G3電腦。
在c語言中char型資料在記憶體中的儲存形式為「ASCII碼」。
教學推薦:《c語言教學影片》
#c語言char型
#字符型資料型別就是字元
1、字元資料的表示
字元型資料是用單引號括起來的字符。例如:
'a'、'b'、'='、' '、'?'都是合法字元型資料。在C語言中,字元型資料有下列特點:
字元型資料只能用單引號括起來,不能用雙引號或其它括號。
字符型資料只能是單一字符,不能是字串。
字元可以是字元集中任意字元。但數字被定義為字元型之後就不能參與數值運算。如'5'和5 是不同的。 '5'是字符型數據,不能參與運算。
轉義字元
轉義字元主要用來表示那些用一般字元不方便表示的控制碼。 |
||
常用的轉義字元及其意義 | 轉義字元 |
|
ASCII程式碼 | ##\n | |
#10 | ||
# \t | 橫向跳到下一製表位置 | |
\b | 退格 | |
##\ r | 回程 | 13 |
##\f | 走紙換頁 | 12 |
\\ | 反斜線符號"\" | 92 |
##\' |
單引號符號 |
39 |
\」 |
雙引號符號 |
#34 |
\a |
鳴鈴 |
7 |
\ddd |
##1~3位元八進位數所代表的字元 |
2、字元類型說明符
字元變數的類型說明符是char。字元變數類型定義的格式和書寫規則都與整數變數相同。例如:
char a,b;
3、字元變數在記憶體中的儲存形式及使用方法
每個字元變數被分配一個位元組的記憶體空間,因此只能存放一個字元。字元值是以ASCII碼的形式存放在變數的記憶體單元之中的。
如x的十進位ASCII碼是120,y的十進位ASCII碼是121。對字元變數a、b賦予'x'和'y'值:
a='x';
b='y';
其實是在a、b兩個單元內存放120和121的二進位程式碼:
例:將字元變數賦以整數。
#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為字元型,但在賦值語句中賦以整數值。從結果來看,a,b值的輸出形式取決於printf函數格式字串中的格式符,當格式符為"c"時,對應輸出的變數值為字符,當格式符為"d"時,對應輸出的變數值為整數。
由此可以看出:
(1)小寫的ASCII碼比大寫的ASCII碼大32
(2)後面的ASCII碼比前面的ASCII碼大
#(3)'3'要變化成3需要'3'-'0'= 3
4、字串
#字串是由一對雙引號括起的字元序列。例如: "CHINA" ,「C program」 , "$12.5" 等都是合法的字串。
字串和字元不同,它們之間主要有以下區別:
#字元由單引號括起來,字串由雙引號括起來。
字符只能是單一字符,字串則可以包含一個或多個字符。
可以把一個字元型資料賦予一個字元變量,但不能把一個字串賦予一個字元變數。
字元佔一個位元組的記憶體空間。字串佔的記憶體位元組數等於字串中位元組數加1。增加的一個位元組中存放字元"\0" (ASCII碼為0)。這是字串結束的標誌。
例如,字串"C program" 在記憶體中所佔的位元組為:10個位元組
字元'a'和字串"a"雖然都只有一個字符,但在記憶體中的情況是不同的。
'a'在記憶體中佔一個字節,"a"在記憶體中佔二個字節,
更多程式相關知識,請造訪: 程式教學! !
以上是在c語言中char型資料在記憶體中的儲存形式為何的詳細內容。更多資訊請關注PHP中文網其他相關文章!