c 語言包含的資料型別如下圖所示:
一、資料型別與「模子」
short、int、long、char、float、double 這六個關鍵字代表c 語言裡的六種基本資料型別。
怎麼去理解它們呢? 舉個例子:見過藕煤球的那個東西吧?(沒見過?煤球總見過吧)。那個東西叫藕煤器,拿著它在和好的煤堆裡這麼一咔,乙個煤球出來了。半徑12cm,12 個孔。不同型號的藕煤器咔出來的煤球大小不一樣,孔數也不一樣。這個藕煤器其實就是個模子。
現在我們聯想一下,short、int、long、char、float、double 這六個東東是不是很像不同型別的藕煤器啊?拿著它們在記憶體上咔咔咔,不同大小的記憶體就分配好了,當然別忘了給它們取個好聽的名字。
在32 位的系統上short 咔出來的記憶體大小是2 個byte;
int 咔出來的記憶體大小是4 個byte;
long 咔出來的記憶體大小是4 個byte;
float 咔出來的記憶體大小是4 個byte;
double 咔出來的記憶體大小是8 個byte;
char 咔出來的記憶體大小是1 個byte。
(注意這裡指一般情況,可能不同的平台還會有所不同,具體平台可以用sizeof 關鍵字測試一下)
很簡單吧?咔咔咔很爽吧?是很簡單,也確實很爽,但問題就是你咔出來這麼多記憶體塊,你總不能給他取名字叫做x1,x2,x3,x4,x5…或者長江1 號,長江2 號…吧。它們長得這麼像(不是你家的老大,老二,老三…),過一陣子你就會忘了到底哪個名字和哪個記憶體塊匹配了(到底誰嫁給誰了啊?^_^)。所以呢,給他們取乙個好的名字絕對重要。下面我們就來研究研究取什麼樣的名字好。
二、變數的命名規則
1、命名應當直觀且可以拼讀,可望文知意,便於記憶和閱讀。
識別符號最好採用英文單詞或其組合,不允許使用拼音。程式中的英文單詞一般不要太複雜,用詞應當準確。
2、命名的長度應當符合「min-length && max-information」原則。
c 是一種簡潔的語言, 命名也應該是簡潔的。例如變數名maxval 就比maxvalueuntiloverflow 好用。識別符號的長度一般不要過長,較長的單詞可通過去掉「母音」形成縮寫。
另外,英文詞盡量不縮寫,特別是非常用專業名詞,如果有縮寫,在同一系統中對同一單詞必須使用相同的表示法,並且註明其意思。
3、當識別符號由多個詞組成時,每個詞的第乙個字母大寫,其餘全部小寫。
比如:int currentval;
這樣的名字看起來比較清晰,遠比一長串字元好得多。
4、盡量避免名字中出現數字編號,如value1,value2 等,除非邏輯上的確需要編號。
比如驅動開發時為管腳命名,非編號名字反而不好。
初學者總是喜歡用帶編號的變數名或函式名,這樣子看上去很簡單方便,但其實是一顆顆定時炸彈。這個習慣初學者一定要改過來。
5、對在多個檔案之間共同使用的全域性變數或函式要加範圍限定符(建議使用模組名(縮寫)作為範圍限定符)。
(gui_ ,etc)識別符號的命名規則:
6、識別符號名分為兩部分:規範識別符號字首(字尾) + 含義標識。非全域性變數可以不用使用範圍限定符字首。
7、作用域字首命名規則。
8、資料型別字首命名規則。
9、含義標識命名規則,變數命名使用名詞性片語,函式命名使用動詞性片語。
例如:
變數含義識別符號構成:目標詞+ 動詞(的過去分詞)+ [狀語] + [目的地];
函式含義識別符號構成:動詞(一般現時)+目標詞+[狀語]+[目的地];
10、程式中不得出現僅靠大小寫區分的相似的識別符號。
例如:int x, x; 變數x 與x 容易混淆
void foo(int x); 函式foo 與foo 容易混淆
void foo(float x);
這裡還有乙個要特別注意的就是1(數字1)和l(小寫字母l)之間,0(數字0)和o(小寫字母o)之間的區別。這兩對真是很難區分的,我曾經的乙個同事就被這個問題折騰了一次。
11、乙個函式名禁止被用於其它之處。
例如:#include "c_standards.h"
void foo(int p_1)
void static_p(void)
12、所有巨集定義、列舉常數、唯讀變數全用大寫字母命名,用下劃線分割單詞。
例如:const int max_length = 100; //這不是常量,而是乙個唯讀變數,具體請往後看
#define file_path 「/usr/tmp」
13、考慮到習慣性問題,區域性變數中可採用通用的命名方式,僅限於n、i、j 等作為迴圈變數使用。
一定不要寫出如下這樣的**:
int p;
char i;
int c;
char * a;
一般來說習慣上用n,m,i,j,k 等表示int 型別的變數;c,ch 等表示字元型別變數;a 等表示陣列;p 等表示指標。當然這僅僅是一般習慣,除了i,j,k 等可以用來表示迴圈變數外,別的字元變數名盡量不要使用。
14、定義變數的同時千萬千萬別忘了初始化。定義變數時編譯器並不一定清空了這塊記憶體,它的值可能是無效的資料。
這個問題在記憶體管理那章有非常詳細的討論,請參看。
15、不同型別資料之間的運算要注意精度擴充套件問題,一般低精度資料將向高精度資料擴充套件。
c語言基礎資料型別及命名規範
1.常量是程式執行期間不能被改變的量 變數代表乙個儲存區域,儲存區域內儲存的內容就是變數的值,變數的值可以在程式執行期間改變 變數就像乙個杯子,用來存放水,杯子裡的水即變數的值是可以改變的 2.基本資料型別 int 整型型別,在記憶體中佔4個位元組,在計算機中每個位元組都由8個二進位制數表示 sho...
變數 資料型別以及命名規則
asp.net unity開發 net培訓 期待與您交流!記憶體 用於儲存正在執行的程式資料,ram 特點,數度快但斷電後裡面的資料將丟失 代表的是一塊記憶體空間,可以通過變數稱向記憶體中取資料,有了變數就我們就不需要記憶複雜的記憶體位址 位址編號 向記憶體申請一塊記憶體空間的語法 資料型別 變數名...
變數 資料型別以及命名規則
asp.net unity開發 net培訓 期待與您交流!記憶體 用於儲存正在執行的程式資料,ram 特點,數度快但斷電後裡面的資料將丟失 代表的是一塊記憶體空間,可以通過變數稱向記憶體中取資料,有了變數就我們就不需要記憶複雜的記憶體位址 位址編號 向記憶體申請一塊記憶體空間的語法 資料型別 變數名...