嵌入式C語(yǔ)言基礎(chǔ)

第二章,數(shù)據(jù)類(lèi)型

C 中的類(lèi)型可分為以下幾種:

1惧笛,基本類(lèi)型:它們是算術(shù)類(lèi)型从媚,包括兩種類(lèi)型:整數(shù)類(lèi)型和浮點(diǎn)類(lèi)型。

2患整,枚舉類(lèi)型:它們也是算術(shù)類(lèi)型拜效,被用來(lái)定義在程序中只能賦予其一定的離散整數(shù)值的變量。

3各谚,void 類(lèi)型:類(lèi)型說(shuō)明符?void?表明沒(méi)有可用的值紧憾。

4,派生類(lèi)型:它們包括:指針類(lèi)型昌渤、數(shù)組類(lèi)型赴穗、結(jié)構(gòu)類(lèi)型、共用體類(lèi)型和函數(shù)類(lèi)型膀息。

整數(shù)類(lèi)型

下表列出了關(guān)于標(biāo)準(zhǔn)整數(shù)類(lèi)型的存儲(chǔ)大小和值范圍的細(xì)節(jié):

類(lèi)型存儲(chǔ) ? ? ? ? ? ? ? ? ? 大小 ? ? ? ? ? ? ? ? ? ? ? 值范圍

char ? ? ? ? ? ? ? ? ? ? ? ? ? 1字節(jié) ? ? ? ? ? ? ? ? ? ? ?-128 到 127 或 0 到 255

unsigned char ? ? ? ? ? 1 字節(jié) ? ? ? ? ? ? ? ? ? ?0 到 255

signed ? ?char ? ? ? ? ? ? 1 字節(jié) ? ? ? ? ? ? ? ? ? ?-128 到 127

int ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2 或 4 字節(jié) ? ? ? ? ? ?-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647

unsigned ? ?int ? ? ? ? ? ?2 或 4 字節(jié) ? ? ? ? ? ? 0 到 65,535 或 0 到 4,294,967,295

short ? ? ? ? ? ? ? ? ? ? ? ? ? 2 字節(jié) ? ? ? ? ? ? ? ? ? ? -32,768 到 32,767

unsigned ? ?short ? ? ? 2 字節(jié) ? ? ? ? ? ? ? ? ? ? 0 到 65,535

long ? ? ? ? ? ? ? ? ? ? ? ? ? ?4 字節(jié) ? ? ? ? ? ? ? ? ? ? -2,147,483,648 到 2,147,483,647

unsigned long ? ? ? ? ? 4 字節(jié) ? ? ? ? ? ? ? ? ? ? ?0 到 4,294,967,295

為了得到某個(gè)類(lèi)型或某個(gè)變量在特定平臺(tái)上的準(zhǔn)確大小般眉,您可以使用?sizeof?運(yùn)算符。表達(dá)式?sizeof(type)?得到對(duì)象或類(lèi)型的存儲(chǔ)字節(jié)大小潜支。下面的實(shí)例演示了獲取 int 類(lèi)型的大械樵摺:

#include <stdio.h>

#include <limits.h>

?int main(){

?printf("int 存儲(chǔ)大小 : %lu \n", sizeof(int));

? return 0;

}

當(dāng)您在 Linux 上編譯并執(zhí)行上面的程序時(shí),它會(huì)產(chǎn)生下列結(jié)果:

int 存儲(chǔ)大小 : 4


浮點(diǎn)類(lèi)型

下表列出了關(guān)于標(biāo)準(zhǔn)浮點(diǎn)類(lèi)型的存儲(chǔ)大小冗酿、值范圍和精度的細(xì)節(jié):

類(lèi)型存儲(chǔ) ? ? ? ? ? ? ? ? ? ? ? ? ? ?大小 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?值范圍 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 精度

float ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?4 字節(jié) ? ? ? ? ? ? ? ? ? ? ? ? ? ?1.2E-38 到 3.4E+38 ? ? ? ? ? ? 6 位小數(shù)

double ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?8 字節(jié) ? ? ? ? ? ? ? ? ? ? ? ? ? ?2.3E-308 到 1.7E+308 ? ? ? ?15 位小數(shù)

long double ? ? ? ? ? ? ? ? ? ? ? ?16 字節(jié) ? ? ? ? ? ? ? ? ? ? ? ? 3.4E-4932 到 1.1E+4932 ? ?19 位小數(shù)

頭文件 float.h 定義了宏埠对,在程序中可以使用這些值和其他有關(guān)實(shí)數(shù)二進(jìn)制表示的細(xì)節(jié)。下面的實(shí)例將輸出浮點(diǎn)類(lèi)型占用的存儲(chǔ)空間以及它的范圍值:

#include <stdio.h>

#include <float.h>?

int main(){

?printf("float 存儲(chǔ)最大字節(jié)數(shù) : %d \n", sizeof(float));

? printf("float 最小值: %E\n", FLT_MIN );

? printf("float 最大值: %E\n", FLT_MAX );

? printf("精度值: %d\n", FLT_DIG );

? return 0;

}

當(dāng)您在 Linux 上編譯并執(zhí)行上面的程序時(shí)裁替,它會(huì)產(chǎn)生下列結(jié)果:

float 存儲(chǔ)最大字節(jié)數(shù) : 4

float 最小值: 1.175494E-38

float 最大值: 3.402823E+38

精度值: 6


void 類(lèi)型

void 類(lèi)型指定沒(méi)有可用的值项玛。它通常用于以下三種情況下:

1,函數(shù)返回為空:C 中有各種函數(shù)都不返回值弱判,或者您可以說(shuō)它們返回空稍计。不返回值的函數(shù)的返回類(lèi)型為空。例如?void exit (int status);

2裕循,函數(shù)參數(shù)為空:C 中有各種函數(shù)不接受任何參數(shù)。不帶參數(shù)的函數(shù)可以接受一個(gè) void净刮。例如?int rand(void);

3剥哑,指針指向 void:類(lèi)型為 void * 的指針代表對(duì)象的地址,而不是類(lèi)型淹父。例如株婴,內(nèi)存分配函數(shù)?void *malloc( size_t size );?返回指向 void 的指針,可以轉(zhuǎn)換為任何數(shù)據(jù)類(lèi)型。

如果現(xiàn)在您還是無(wú)法完全理解 void 類(lèi)型困介,不用太擔(dān)心大审,在后續(xù)的章節(jié)中我們將會(huì)詳細(xì)講解這些概念

常用基本數(shù)據(jù)類(lèi)型占用空間(64位機(jī)器為例)

char : 1個(gè)字節(jié)

int :4個(gè)字節(jié)

float:4個(gè)字節(jié)

double:8個(gè)字節(jié)

基本類(lèi)型書(shū)寫(xiě)

整數(shù)

a,默認(rèn)為10進(jìn)制 座哩,10 徒扶,20。

b根穷,以0開(kāi)頭為8進(jìn)制姜骡,045,021屿良。

c.圈澈,以0b開(kāi)頭為2進(jìn)制,0b11101101尘惧。

d康栈,以0x開(kāi)頭為16進(jìn)制,0x21458adf喷橙。

小數(shù)

單精度常量:2.3f 啥么。

雙精度常量:2.3,默認(rèn)為雙精度重慢。

字符型常量

用英文單引號(hào)括起來(lái)饥臂,只保存一個(gè)字符'a'、'b' 似踱、'*' 隅熙,還有轉(zhuǎn)義字符 '\n' 、'\t'核芽。

字符串常量

用英文的雙引號(hào)引起來(lái) 可以保存多個(gè)字符:"abc"囚戚。

???Justforyou

??104***9108@a.com

2年前 (2017-09-01)

???zsz311

??zsz***@163.com

1、數(shù)據(jù)類(lèi)型轉(zhuǎn)換:C 語(yǔ)言中如果一個(gè)表達(dá)式中含有不同類(lèi)型的常量和變量轧简,在計(jì)算時(shí)驰坊,會(huì)將它們自動(dòng)轉(zhuǎn)換為同一種類(lèi)型;在 C 語(yǔ)言中也可以對(duì)數(shù)據(jù)類(lèi)型進(jìn)行強(qiáng)制轉(zhuǎn)換哮独;

2拳芙、自動(dòng)轉(zhuǎn)換規(guī)則:

a)浮點(diǎn)數(shù)賦給整型,該浮點(diǎn)數(shù)小數(shù)被舍去皮璧;

b)整數(shù)賦給浮點(diǎn)型舟扎,數(shù)值不變,但是被存儲(chǔ)到相應(yīng)的浮點(diǎn)型變量中悴务;

3睹限、強(qiáng)制類(lèi)型轉(zhuǎn)換形式:?(類(lèi)型說(shuō)明符)(表達(dá)式)

實(shí)例程序:

#include<stdio.h>

int main()

{

????float f,x=3.6,y=5.2;

????int i=4,a,b;

????a=x+y;

????b=(int)(x+y);

????f=10/i;

????printf("a=%d,b=%d,f=%f,x=%f\n",a,b,f,x);

}

例中先計(jì)算 x+y 值為 8.8,然后賦值給 a,因?yàn)閍為整型羡疗,所以自取整數(shù)部分8染服,a=8;

接下來(lái) b 把 x+y 強(qiáng)制轉(zhuǎn)換為整型;

最后 10/i 是兩個(gè)整數(shù)相除,結(jié)果仍為整數(shù) 2叨恨,把 2 賦給浮點(diǎn)數(shù) f;

x 為浮點(diǎn)型直接輸出柳刮。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市特碳,隨后出現(xiàn)的幾起案子诚亚,更是在濱河造成了極大的恐慌,老刑警劉巖午乓,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件站宗,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡益愈,警方通過(guò)查閱死者的電腦和手機(jī)梢灭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蒸其,“玉大人敏释,你說(shuō)我怎么就攤上這事∶” “怎么了钥顽?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)靠汁。 經(jīng)常有香客問(wèn)我蜂大,道長(zhǎng),這世上最難降的妖魔是什么蝶怔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任奶浦,我火速辦了婚禮,結(jié)果婚禮上踢星,老公的妹妹穿的比我還像新娘澳叉。我一直安慰自己,他們只是感情好沐悦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布成洗。 她就那樣靜靜地躺著,像睡著了一般藏否。 火紅的嫁衣襯著肌膚如雪泌枪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天秕岛,我揣著相機(jī)與錄音,去河邊找鬼。 笑死继薛,一個(gè)胖子當(dāng)著我的面吹牛修壕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播遏考,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼慈鸠,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了灌具?” 一聲冷哼從身側(cè)響起青团,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎咖楣,沒(méi)想到半個(gè)月后督笆,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诱贿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年娃肿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片珠十。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡料扰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出焙蹭,到底是詐尸還是另有隱情晒杈,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布孔厉,位于F島的核電站拯钻,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏烟馅。R本人自食惡果不足惜说庭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望郑趁。 院中可真熱鬧刊驴,春花似錦、人聲如沸寡润。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)梭纹。三九已至躲惰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間变抽,已是汗流浹背础拨。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工氮块, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人诡宗。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓滔蝉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親塔沃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蝠引,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容