- 相關(guān)推薦
C語(yǔ)言學(xué)習(xí)關(guān)于數(shù)據(jù)的介紹
C語(yǔ)言是在70年代初問(wèn)世的。一九七八年由美國(guó)電話電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)表了C語(yǔ)言。下面是關(guān)于C語(yǔ)言學(xué)習(xí)關(guān)于數(shù)據(jù)的介紹,歡迎閱讀學(xué)習(xí)!
1.各種數(shù)據(jù)類(lèi)型介紹
1.1整型
整形包括短整型、整形和長(zhǎng)整形。
1.1.1短整形
short a=1;
1.1.2整形
一般占4個(gè)字節(jié)(32位),最高位代表符號(hào),0表示正數(shù),1表示負(fù)數(shù),取值范圍是-2147483648~2147483647,在內(nèi)存中的存儲(chǔ)順序是地位在前、高位在后,例如0x12345678在內(nèi)存中的'存儲(chǔ)如下:
地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b
數(shù)據(jù): 78 56 34 12
定義:用int關(guān)鍵字,舉例如下:
int a=6;
1.1.3長(zhǎng)整形
long a=10;
1.2浮點(diǎn)型
浮點(diǎn)型包括單精度型和雙精度型。
1.2.1單精度型
浮點(diǎn)型,又稱(chēng)實(shí)型,也稱(chēng)單精度。一般占4個(gè)字節(jié)(32位),
float a=4.5;
地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b
數(shù)據(jù): 00 00 90 40
1.2.2雙精度型
一般占8個(gè)字節(jié)(64位)
double a=4.5;
地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b 0x0012ff7c 0x0012ff7d 0x0012ff7e 0x0012ff7f
數(shù)據(jù): 00 00 00 00 00 00 12 40
1.3字符類(lèi)型
在各種不同系統(tǒng)中,字符類(lèi)型都占一個(gè)字節(jié)(8位)。定義如下:
char c='a';
也可以用字符對(duì)應(yīng)的ASCII碼賦值,如下:
char c=97;
如果你想學(xué)習(xí)C語(yǔ)言可以來(lái)這個(gè)群,首先是三三零,中間是八五九,最后是七六六,里面有大量的學(xué)習(xí)資料可以下載
2.數(shù)據(jù)類(lèi)型與“模子”
short、int、long、char、float、double 這六個(gè)關(guān)鍵字代表C 語(yǔ)言里的六種基本數(shù)據(jù)類(lèi)型。
怎么去理解它們呢? 舉個(gè)例子:見(jiàn)過(guò)藕煤球的那個(gè)東西吧?(沒(méi)見(jiàn)過(guò)?煤球總見(jiàn)過(guò)吧)。那個(gè)東西叫藕煤器,拿著它在和好的煤堆里這么一咔,一個(gè)煤球出來(lái)了。半徑12cm,12 個(gè)孔。不同型號(hào)的.藕煤器咔出來(lái)的煤球大小不一樣,孔數(shù)也不一樣。這個(gè)藕煤器其實(shí)就是個(gè)模子。
現(xiàn)在我們聯(lián)想一下,short、int、long、char、float、double 這六個(gè)東東是不是很像不同類(lèi)型的藕煤器啊?拿著它們?cè)趦?nèi)存上咔咔咔,不同大小的內(nèi)存就分配好了,當(dāng)然別忘了給它們?nèi)(gè)好聽(tīng)的名字。
在32 位的系統(tǒng):
short 咔出來(lái)的內(nèi)存大小是2 個(gè)byte;
int 咔出來(lái)的內(nèi)存大小是4 個(gè)byte;
long 咔出來(lái)的內(nèi)存大小是4 個(gè)byte;
float 咔出來(lái)的內(nèi)存大小是4 個(gè)byte;
double 咔出來(lái)的內(nèi)存大小是8 個(gè)byte;
char 咔出來(lái)的內(nèi)存大小是1 個(gè)byte。
(注意這里指一般情況,可能不同的平臺(tái)還會(huì)有所不同,具體平臺(tái)可以用sizeof 關(guān)鍵字測(cè)試一下)
很簡(jiǎn)單吧?咔咔咔很爽吧?是很簡(jiǎn)單,也確實(shí)很爽,但問(wèn)題就是你咔出來(lái)這么多內(nèi)存塊,你總不能給他取名字叫做x1,x2,x3,x4,x5…或者長(zhǎng)江1 號(hào),長(zhǎng)江2 號(hào)…吧。它們長(zhǎng)得這么像(不是你家的老大,老二,老三…),過(guò)一陣子你就會(huì)忘了到底哪個(gè)名字和哪個(gè)內(nèi)存塊匹配了(到底誰(shuí)嫁給誰(shuí)了啊?^_^)。所以呢,給他們?nèi)∫粋(gè)好的名字絕對(duì)重要。下面我們就來(lái)研究研究取什么樣的名字好。
3.變量的命名規(guī)則
1)命名應(yīng)當(dāng)直觀且可以拼讀,可望文知意,便于記憶和閱讀。
標(biāo)識(shí)符最好采用英文單詞或其組合,不建議使用拼音。程序中的英文單詞一般不要太復(fù)雜,用詞應(yīng)當(dāng)準(zhǔn)確。
2)命名的長(zhǎng)度應(yīng)當(dāng)符合“min-length && max-information”原則。
C 是一種簡(jiǎn)潔的語(yǔ)言, 命名也應(yīng)該是簡(jiǎn)潔的。例如變量名MaxVal 就比MaxValueUntilOverflow 好用。標(biāo)識(shí)符的長(zhǎng)度一般不要過(guò)長(zhǎng),較長(zhǎng)的單詞可通過(guò)去掉“元音”形成縮寫(xiě)。
另外,英文詞盡量不縮寫(xiě),特別是非常用專(zhuān)業(yè)名詞,如果有縮寫(xiě),在同一系統(tǒng)中對(duì)同一單詞必須使用相同的表示法,并且注明其意思。
3)當(dāng)標(biāo)識(shí)符由多個(gè)詞組成時(shí),每個(gè)詞的第一個(gè)字母大寫(xiě),其余全部小寫(xiě)。比如:
int CurrentVal;
這樣的名字看起來(lái)比較清晰,遠(yuǎn)比一長(zhǎng)串字符好得多。
4)盡量避免名字中出現(xiàn)數(shù)字編號(hào),如Value1,Value2 等,除非邏輯上的確需要編號(hào)。比如驅(qū)動(dòng)開(kāi)發(fā)時(shí)為管腳命名,非編號(hào)名字反而不好。
初學(xué)者總是喜歡用帶編號(hào)的變量名或函數(shù)名,這樣子看上去很簡(jiǎn)單方便,但其實(shí)是一顆顆定時(shí)炸彈。這個(gè)習(xí)慣初學(xué)者一定要改過(guò)來(lái)。
5)對(duì)在多個(gè)文件之間共同使用的全局變量或函數(shù)要加范圍限定符(建議使用模塊名(縮寫(xiě))作為范圍限定符)。
(GUI_ ,etc)標(biāo)識(shí)符的`命名規(guī)則:
6)標(biāo)識(shí)符名分為兩部分:規(guī)范標(biāo)識(shí)符前綴(后綴) + 含義標(biāo)識(shí)。非全局變量可以不用使用范圍限定符前綴。
4)程序中不建議出現(xiàn)僅靠大小寫(xiě)區(qū)分的相似的標(biāo)識(shí)符。
例如:int x, X; 變量x 與X 容易混淆
void foo(int x); 函數(shù)foo 與FOO 容易混淆
void FOO(float x);
這里還有一個(gè)要特別注意的就是1(數(shù)字1)和l(小寫(xiě)字母l)之間,0(數(shù)字0)和o(小寫(xiě)字母o)之間的區(qū)別。這兩對(duì)真是很難區(qū)分的。
5)考慮到習(xí)慣性問(wèn)題,局部變量中可采用通用的命名方式,僅限于n、i、j 等作為循環(huán)變量使用。
一定不要寫(xiě)出如下這樣的代碼:
int p;
char i;
int c;
char * a;
一般來(lái)說(shuō)習(xí)慣上用n,m,i,j,k 等表示int 類(lèi)型的變量;c,ch 等表示字符類(lèi)型變量;a 等表示數(shù)組;p 等表示指針。當(dāng)然這僅僅是一般習(xí)慣,除了i,j,k 等可以用來(lái)表示循環(huán)變量外,別的字符變量名盡量不要使用。
*6)定義變量的同時(shí)千萬(wàn)千萬(wàn)別忘了初始化。定義變量時(shí)編譯器并不一定清空了這塊內(nèi)存,它的值可能是無(wú)效的數(shù)據(jù)。
【C語(yǔ)言學(xué)習(xí)數(shù)據(jù)的介紹】相關(guān)文章:
C語(yǔ)言的數(shù)據(jù)類(lèi)型介紹07-16
C語(yǔ)言入門(mén)學(xué)習(xí)介紹11-01
C語(yǔ)言實(shí)型數(shù)據(jù)07-02
C語(yǔ)言字符數(shù)據(jù)的合法形式10-17
C語(yǔ)言數(shù)據(jù)類(lèi)型轉(zhuǎn)換09-06