天天看點

C語言int可以用來去整嘛,c語言基本資料類型short、int、long、char、float、double

C 語言包含的資料類型如下圖所示:

C語言int可以用來去整嘛,c語言基本資料類型short、int、long、char、float、double

一、資料類型與“模子”

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、辨別符名分為兩部分:規範辨別符字首(字尾) + 含義辨別。非全局變量可以不用使用範圍限定符字首。

C語言int可以用來去整嘛,c語言基本資料類型short、int、long、char、float、double

7、作用域字首命名規則。

C語言int可以用來去整嘛,c語言基本資料類型short、int、long、char、float、double

8、資料類型字首命名規則。

C語言int可以用來去整嘛,c語言基本資料類型short、int、long、char、float、double
C語言int可以用來去整嘛,c語言基本資料類型short、int、long、char、float、double
C語言int可以用來去整嘛,c語言基本資料類型short、int、long、char、float、double

9、含義辨別命名規則,變量命名使用名詞性詞組,函數命名使用動詞性詞組。例如:

C語言int可以用來去整嘛,c語言基本資料類型short、int、long、char、float、double

變量含義辨別符構成:目标詞+ 動詞(的過去分詞)+ [狀語] + [目的地];

C語言int可以用來去整嘛,c語言基本資料類型short、int、long、char、float、double

函數含義辨別符構成:動詞(一般現時)+目标詞+[狀語]+[目的地];

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)

{

int x = p_1;

}

void static_p(void)

{

int foo = 1u;

}

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、不同類型資料之間的運算要注意精度擴充問題,一般低精度資料将向高精度資料擴充。

java中String,int,Integer,char、double類型轉換

java中String,int,Integer,char.double類型轉換----https://www.cnblogs.com/kangyu222/p/5866025.html

c語言基本資料類型short、int、long、char、float、double大小及命名規則

C 語言包含的資料類型: 一.資料類型與“模子”short.int.long.char.float.double 這六個關鍵字代表C 語言裡的六種基本資料類型. 怎麼去了解它們呢? 舉個例子:見過藕煤 ...

[No000066]python各種類型轉換-int,str,char,float,ord,hex,oct等

int(x [,base ]) #将x轉換為一個整數 long(x [,base ]) #将x轉換為一個長整數 float(x ) #将x轉換到一個浮點數 complex(real [,imag ]) ...

python各種類型轉換-int,str,char,float,ord,hex,oct等

int(x [,base ])         将x轉換為一個整數  long(x [,base ])        将x轉換為一個長整數  float(x )               将x轉換到 ...

【python】python各種類型轉換-int,str,char,float,ord,hex,oct等

[python] int(x [,base ])         将x轉換為一個整數 long(x [,base ])        将x轉換為一個長整數 float(x )             ...

Linux基本資料類型大小——int,char,long int,long long int

轉自:http://paddy-w.iteye.com/blog/1403217 在Linux作業系統下使用GCC進行程式設計,目前一般的處理器為32位字寬,下面是/usr/include/limit.h ...

談談C語言的資料類型

本文摘要: 本文主要講述C語言中的資料類型,從基本的資料類型到派生的資料類型,從int ,char ,float double ....到指針,數組,函數,指向指針的指針,指向數組的指針,指向函數的指 ...

c語言之資料類型

#include int main(void) { float weight, value; printf("Are you worth your weight ...

C語言,資料類型

#include void f0(void) { printf("in linux:\n"); printf("sizeof(char) ...

随機推薦

YYModel 源碼解讀(一)之YYModel.h

#if __has_include() FOUNDATION_EXPORT double YYModelVersionNumber; FOUNDATI ...

rqnoj378 約會計劃

題目描述 cc是個超級帥哥,口才又好,rp極高(這句話似乎降rp),又非常的幽默,是以很多mm都跟他關系不錯.然而,最關鍵的是,cc能夠很好的調解各各妹妹間的關系.mm之間的關系及其複雜,cc必須嚴格 ...

管理windows防火牆

1.導出防火牆規則 netsh advfirewall export "c:\advfirewall.wfw" 2.禁用防火牆 netsh firewall set opmode ...

SVN上傳檔案注意事項-------------------養成良好的項目檔案上傳習慣

項目組的學弟經常把一些.obj檔案和debug目錄上傳到svn,這個習慣很不好,我說了很多次他總改不了,還是寫個文檔說清楚吧,以後查起來也友善.     svn是一種版本控制工具,主要目的是用來管理代 ...

NAT學習筆記

NAT介紹 NAT, 全稱網絡位址轉換(Network Address Translation),是一種在IP封包通過路由器或防火牆時重寫來源IP位址或目的IP位址的技術. NAT的分類及介紹 NAT ...

Boost1.62+win7+VC2015編譯

下載下傳 通過boost官方網站, 或直接在source forge下載下傳boost_1_62_0. 可選包 Zlib library, 環境變量: ZLIB_SOURCE bzip2, 環境變量: BZI ...

html.day01

1.web标準: 1. 結構  (xhtml)  2. 表現(css)  3.行為(js) html   超文本标記語言 xhtml  (嚴格型超文本标記語言) 2.規範: 1. 所有标簽(标記)都要 ...

HDU 2106 decimal system (進制轉化求和)

題意:給你n個r進制數,讓你求和. 析:思路就是先轉化成十進制,再加和. 代碼如下: #include #include #includ ...

Image 和byte[]之間的轉換

1.Image 轉 byte[] public byte[] GetByteByImage(Image image) { byte[] bt = null; try { if (!image.Equa ...

eclipse啟動項目

今天做的任務不多,沒有自己寫代碼,上午看了些文章,下午我司背景給配了配項目環境,全裝C槽了..以後有我好受的.. 看着背景操作,修改了N多配置,tomcat.redis.zkServer..Nginx ...