補(bǔ)充回答: 上面給出的是其運(yùn)算符,下面給出32個(gè)關(guān)鍵字及其含義:
auto :聲明自動(dòng)變量 一般不使用 double :聲明雙精度變量或函數(shù) int: 聲明整型變量或函數(shù) struct:聲明結(jié)構(gòu)體變量或函數(shù) break:跳出當(dāng)前循環(huán) else :條件語句否定分支(與 if 連用) long :聲明長(zhǎng)整型變量或函數(shù) switch :用于開關(guān)語句 case:開關(guān)語句分支 enum :聲明枚舉類型 register:聲明積存器變量 typedef:用以給數(shù)據(jù)類型取別名(當(dāng)然還有其他作用) char :聲明字符型變量或函數(shù) extern:聲明變量是在其他文件正聲明(也可以看做是引用變量) return :子程序返回語句(可以帶參數(shù),也看不帶參數(shù)) union:聲明聯(lián)合數(shù)據(jù)類型 const :聲明只讀變量 float:聲明浮點(diǎn)型變量或函數(shù) short :聲明短整型變量或函數(shù) unsigned:聲明無符號(hào)類型變量或函數(shù) continue:結(jié)束當(dāng)前循環(huán),開始下一輪循環(huán) for:一種循環(huán)語句(可意會(huì)不可言傳) signed:生命有符號(hào)類型變量或函數(shù) void :聲明函數(shù)無返回值或無參數(shù),聲明無類型指針(基本上就這三個(gè)作用) default:開關(guān)語句中的“其他”分支 goto:無條件跳轉(zhuǎn)語句 sizeof:計(jì)算數(shù)據(jù)類型長(zhǎng)度 volatile:說明變量在程序執(zhí)行中可被隱含地改變 do :循環(huán)語句的循環(huán)體 while :循環(huán)語句的循環(huán)條件 static :聲明靜態(tài)變量 if:條件語句 下面是我關(guān)于C語言中各種數(shù)據(jù)類型長(zhǎng)度的總結(jié):(參考The C Programming Language)
1. c語言中的整數(shù)類型有char, short, int, long等幾種, 下面是C語言對(duì)每種數(shù)據(jù)類型長(zhǎng)度的規(guī)定: (a). short和long類型的長(zhǎng)度不相同 (b). int類型通常同具體機(jī)器的物理字長(zhǎng)相同 (c). short通常是16bits, int通常是16bits or 32bits每種編譯器可以根據(jù)硬件的不同自由確定, 但是short和int必須最少是16bits, 而long類型必須最少是32bits, 并且short必須比int和long類型要短。 2. sizeof() 運(yùn)算符返回的是一種數(shù)據(jù)類型中所包含的字節(jié)數(shù)(bytes), AnsiC規(guī)定sizeof(char)必須返回1,當(dāng)sizeof作用于數(shù)組時(shí), 返回的是數(shù)組中所有成員所占的字節(jié)數(shù)(注意并不是數(shù)組中成員的個(gè)數(shù)), 當(dāng)sizeof()作用于結(jié)構(gòu)體和公用體時(shí),返回的不僅僅是數(shù)據(jù)成員總的字節(jié)數(shù), 還包括編譯器為了實(shí)現(xiàn)字節(jié)對(duì)其而填充的那些字節(jié)。 以前寫程序也隱隱約約的懂得這些規(guī)則,但是一直以為char類型必須是8bits的,但是最近做了一個(gè)嵌入式DSP項(xiàng)目,編譯器手冊(cè)上明明寫著char類型就是16bits的,無奈翻出"The C Programming Language"一查才發(fā)現(xiàn)ANSI C對(duì)于char類型的長(zhǎng)度并沒有作硬性規(guī)定。以前寫程序不太注意數(shù)據(jù)類型的可移植性, 這次項(xiàng)目中用到的以前的代碼都要重新檢查數(shù)據(jù)類型長(zhǎng)度的問題。 C++數(shù)據(jù)類型長(zhǎng)度問題: 一、字節(jié)和字長(zhǎng) 字節(jié),八位就是一個(gè)字節(jié),是固定概念。字長(zhǎng)是指計(jì)算機(jī)一次能處理的二進(jìn)制數(shù)據(jù)的長(zhǎng)度,是一個(gè)非固定的概念。例如,8位計(jì)算機(jī)的字長(zhǎng)為8,即一個(gè)字節(jié), 32位計(jì)算機(jī)的字長(zhǎng)位32,即4個(gè)字節(jié),同理,64位計(jì)算機(jī)的字長(zhǎng)為64,即8字節(jié)。 二、C++中的數(shù)據(jù)類型 1、字符型數(shù)據(jù)char,該類型始終是一個(gè)字節(jié)長(zhǎng),即8位。 2、整形int、短整型short和長(zhǎng)整形long。通常int為一個(gè)字長(zhǎng),short為半個(gè)字長(zhǎng),long為一個(gè)或2個(gè)字長(zhǎng)(在32位機(jī)器中為一個(gè)字長(zhǎng))。 3、浮點(diǎn)型float、雙精度double、和長(zhǎng)雙精度long double,分別表示單精度浮點(diǎn)數(shù) 雙精度浮點(diǎn)數(shù)和擴(kuò)展精度的浮點(diǎn)數(shù)值。典型情況下,float 為一個(gè)字,double是兩個(gè)字,long double為三個(gè)或四個(gè)字。
|
|