一、 C語言基本數(shù)據(jù)類型
short、int、long、char、float、double 這六個(gè)關(guān)鍵字代表C 語言里的六種基本數(shù)據(jù)類型。
在不同的系統(tǒng)上,這些類型占據(jù)的字節(jié)長度是不同的:
16位編譯器:
char/unsigned char :1字節(jié)
char?:2字節(jié)
short int:2字節(jié)
int/unsigned int:2字節(jié)
long int:4字節(jié)
float:4字節(jié)
double:8字節(jié)*
32位編譯器:
char/unsigned char :1字節(jié)
char?:4字節(jié)
short int:2字節(jié)
int/unsigned int:4字節(jié)
long int:4字節(jié)
float:4字節(jié)
double:8字節(jié)
long long:8字節(jié)
long double:12字節(jié)
64位編譯器:
char/unsigned char :1字節(jié)
char *:8字節(jié)
short int:2字節(jié)
int/unsigned int:4字節(jié)
long int:8字節(jié)
float:4字節(jié)
double:8字節(jié)
long long:8字節(jié)
long double:16字節(jié)
具體可以用sizeof測試一下即可。
二、 變量的命名規(guī)則
1、命名應(yīng)當(dāng)直觀且可以拼讀,可望文知意,便于記憶和閱讀。
標(biāo)識符最好采用英文單詞或其組合,不允許使用拼音。程序中的英文單詞一般不要太復(fù)雜,用詞應(yīng)當(dāng)準(zhǔn)確。
2、命名的長度應(yīng)當(dāng)符合“min-length && max-information”原則。C 是一種簡潔的語言, 命名也應(yīng)該是簡潔的。例如變量名MaxVal 就比MaxValueUntilOverflow 好用。標(biāo)識符的長度一般不要過長,較長的單詞可通過去掉“元音”形成縮寫。
另外,英文詞盡量不縮寫,特別是非常用專業(yè)名詞,如果有縮寫,在同一系統(tǒng)中對同一單詞必須使用相同的表示法,并且注明其意思。
3、當(dāng)標(biāo)識符由多個(gè)詞組成時(shí),每個(gè)詞的第一個(gè)字母大寫,其余全部小寫。比如:
int CurrentVal;這樣的名字看起來比較清晰,遠(yuǎn)比一長串字符好得多。
4、盡量避免名字中出現(xiàn)數(shù)字編號,如Value1,Value2 等,除非邏輯上的確需要編號。比如驅(qū)動開發(fā)時(shí)為管腳命名,非編號名字反而不好。初學(xué)者總是喜歡用帶編號的變量名或函數(shù)名,這樣子看上去很簡單方便,但其實(shí)是一顆顆定時(shí)炸彈。這個(gè)習(xí)慣初學(xué)者一定要改過來。
5、對在多個(gè)文件之間共同使用的全局變量或函數(shù)要加范圍限定符(建議使用模塊名(縮寫)作為范圍限定符),如 GUI_ ,etc標(biāo)識符的命名規(guī)則
6、標(biāo)識符名分為兩部分:規(guī)范標(biāo)識符前綴(后綴) + 含義標(biāo)識。非全局變量可以不用使用范圍限定符前綴。
7、作用域前綴命名規(guī)則。
8、數(shù)據(jù)類型前綴命名規(guī)則。
9、含義標(biāo)識命名規(guī)則,變量命名使用名詞性詞組,函數(shù)命名使用動詞性詞組。例如:
變量含義標(biāo)識符構(gòu)成:目標(biāo)詞+ 動詞(的過去分詞)+ [狀語] + [目的地];
函數(shù)含義標(biāo)識符構(gòu)成:動詞(一般現(xiàn)時(shí))+目標(biāo)詞+[狀語]+[目的地];
10、程序中不得出現(xiàn)僅靠大小寫區(qū)分的相似的標(biāo)識符。例如:
int x, X; 變量x 與X 容易混淆
void foo(int x); 函數(shù)foo 與FOO 容易混淆
void FOO(float x);
這里還有一個(gè)要特別注意的就是1(數(shù)字1)和l(小寫字母l)之間,0(數(shù)字0)和o(小寫字母o)之間的區(qū)別。這兩對真是很難區(qū)分的,我曾經(jīng)的一個(gè)同事就被這個(gè)問題折騰了一次。
11、一個(gè)函數(shù)名禁止被用于其它之處。例如:
#include “c_standards.h”
void foo(int p_1)
{
int x = p_1;
}
void static_p(void)
{
int foo = 1u;
}
12、所有宏定義、枚舉常數(shù)、只讀變量全用大寫字母命名,用下劃線分割單詞。例如:
const int MAX_LENGTH = 100; //這不是常量,而是一個(gè)只讀變量,具體請往后看
#define FILE_PATH “/usr/tmp”文章來源:http://www.zghlxwxcb.cn/news/detail-756967.html
13、考慮到習(xí)慣性問題,局部變量中可采用通用的命名方式,僅限于n、i、j 等作為循環(huán)變量使用。
一定不要寫出如下這樣的代碼:
int p;
char i;
int c;
char * a;
一般來說習(xí)慣上用n,m,i,j,k 等表示int 類型的變量;c,ch 等表示字符類型變量;a 等表示數(shù)組;p 等表示指針。當(dāng)然這僅僅是一般習(xí)慣,除了i,j,k 等可以用來表示循環(huán)變量外,別的字符變量名盡量不要使用。
14、定義變量的同時(shí)千萬千萬別忘了初始化。定義變量時(shí)編譯器并不一定清空了這塊內(nèi)存,它的值可能是無效的數(shù)據(jù)。這個(gè)問題在內(nèi)存管理會有非常詳細(xì)的討論。
15、不同類型數(shù)據(jù)之間的運(yùn)算要注意精度擴(kuò)展問題,一般低精度數(shù)據(jù)將向高精度數(shù)據(jù)擴(kuò)展。文章來源地址http://www.zghlxwxcb.cn/news/detail-756967.html
到了這里,關(guān)于C語言中基本數(shù)據(jù)類型所占字節(jié)數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!