❶ C 語言怎麼判斷傳入數據的類型
通過約定參數類型或者約定參數格式,確定傳入數據的類型。
1、 大多數情況下,參數類型都是確定的,在函數定義時就可以確定類型。此種情況下,不需要函數本身判斷,編譯器會做判斷或轉換。
如
voidfunc(intn);
聲明這樣的函數,參數為int型,當調用時如果實參不是int型,C編譯器會嘗試轉換為int型,如果轉換失敗,則編譯報錯。
2、 對於參數個數和類型不確定的情況,也就是不定參數形式,一般增加一個格式字元串,通過格式字元串解析後續有幾個參數,每個類型是什麼。
典型例子為printf:
intprintf(constchar*fmt,...);
在printf中,後續參數類型及個數都是不確定的,printf會根據參數fmt中包含的格式字元串,來確定後續的參數類型。 比如傳入fmt為"%s%d%lu",那麼printf就會嘗試在後續參數中讀取三個值,類型分別為char *, int,和unsigned long。
除此外,也可以採用其他方式進行約定。
❷ 要怎麼判斷什麼時候用什麼數據類型
2.各種數據類型介紹
2.1整型
整形包括短整型、整形和長整形。
2.1.1短整形
short a=1;
2.1.2整形
一般佔4個位元組(32位),最高位代表符號,0表示正數,1表示負數,取值范圍是-2147483648~2147483647,在內存中的存儲順序是地位在前、高位在後,例如0x12345678在內存中的存儲如下:
地址:
數據:78563412
定義:用int關鍵字,舉例如下:
int a=6;
2.1.3長整形
long a=10;
2.2浮點型
浮點型包括單精度型和雙精度型。
2.2.1單精度型
浮點型,又稱實型,也稱單精度。一般佔4個位元組(32位),
float a=4.5;
地址:
數據:00009040
2.2.2雙精度型
一般佔8個位元組(64位)
doublea=4.5;
地址:
數據:0000000000001240
2.3字元類型
在各種不同系統中,字元類型都佔一個位元組(8位)。定義如下:
char c='a';
也可以用字元對應的ASCII碼賦值,如下:
char c=97;
3.數據類型與「模子」
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
號…吧。它們長得這么像(不是你家的老大,老二,老三…),過一陣子你就會忘了到底哪個名字和哪個內存塊匹配了(到底誰嫁給誰了啊?^_^)。所以呢,給
他們取一個好的名字絕對重要。下面我們就來研究研究取什麼樣的名字好。
4.變數的命名規則
1)命名應當直觀且可以拼讀,可望文知意,便於記憶和閱讀。
標識符最好採用英文單詞或其組合,不允許使用拼音。程序中的英文單詞一般不要太復雜,用詞應當准確。
2)命名的長度應當符合「min-length && max-information」原則。
C 是一種簡潔的語言, 命名也應該是簡潔的。例如變數名MaxVal 就比MaxValueUntilOverflow 好用。標識符的長度一般不要過長,較長的單詞可通過去掉「母音」形成縮寫。
另外,英文詞盡量不縮寫,特別是非常用專業名詞,如果有縮寫,在同一系統中對同一單詞必須使用相同的表示法,並且註明其意思。
3)當標識符由多個片語成時,每個詞的第一個字母大寫,其餘全部小寫。比如:
int CurrentVal;
這樣的名字看起來比較清晰,遠比一長串字元好得多。
4)盡量避免名字中出現數字編號,如Value1,Value2 等,除非邏輯上的確需要編號。比如驅動開發時為管腳命名,非編號名字反而不好。
初學者總是喜歡用帶編號的變數名或函數名,這樣子看上去很簡單方便,但其實是一顆顆定時炸彈。這個習慣初學者一定要改過來。
5)對在多個文件之間共同使用的全局變數或函數要加范圍限定符(建議使用模塊名(縮寫)作為范圍限定符)。
(GUI_ ,etc)標識符的命名規則:
6)標識符名分為兩部分:規范標識符前綴(後綴) + 含義標識。非全局變數可以不用使用范圍限定符前綴。
❸ vb 中判斷數據類型
VB可使用TypeName 函數來判斷某變數的數據類型。
TypeName 函數,返回一個 String,提供有關變數的信息。
TypeName 函數示例
本彎緩示例讓檔使用 TypeName 函數返回有關變數的信息。
' 聲明變數。
Dim NullVar, MyType, StrVar As String, IntVar As Integer, CurVar As Currency
Dim ArrayVar (1 To 5) As Integer
NullVar = Null ' 設置變數值為 Null。
MyType = TypeName(StrVar) ' 返回 "String"。
MyType = TypeName(IntVar) ' 返回 "Integer"。
MyType = TypeName(CurVar) ' 返回 "Currency"。
MyType = TypeName(NullVar) ' 返回 "Null"。
MyType = TypeName(ArrayVar) '坦鬧亂 返回 "Integer()"。
❹ c語言需要定義數據類型,那怎麼判斷定義什麼數據類型
根據自己需要保存的數據是什麼性質來選擇合適的變數類型。如果需要保存的是字元,那麼就選用char類型,如果是一串字元,比方說用來保存姓名或者密碼等等,那麼就可以選用char數組。如果保存的數據沒有小數,那麼就可以選用int類型,在32位的編譯系統下,int類型可以保存,絕對值不大於21億的整數。如果是帶有小數的數據,那麼就需要選用浮點型,float類型可以保存最多有七位有效數據,doubld類型,最多可以保存有15位有效數字。如果保存的數據只有是和否兩種可能,那麼可以選用bool類型。