今天我們來了解一下C語言必須要掌握的一個知識---數(shù)據(jù)類型。記得劃重點哦~
在C語言中,數(shù)據(jù)類型用來表示被聲明的變量的性質(zhì)、表現(xiàn)形式。
數(shù)據(jù)類型可以分為以下四大類:
基本類型:
整數(shù)類型、字符型、浮點型(單精度浮點型、雙精度浮點型)、枚舉類型。
整數(shù)類型:
char 1字節(jié) 值范圍:-128~127/0~255
unsigned char 1字節(jié) 值范圍:0~255
signed char 1字節(jié) 值范圍:-128~127
int 2/4字節(jié) 值范圍:-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int 2 或 4 字節(jié) 值范圍:0 到 65,535 或 0 到 4,294,967,295
short 2 字節(jié) 值范圍:-32,768 到 32,767
unsigned short 2字節(jié) 值范圍:0 到 65,535
long 4 字節(jié) 值范圍:-2,147,483,648 到 2,147,483,647
unsigned long 4 字節(jié) 值范圍:0 到 4,294,967,295
為了得到某個類型或某個變量具體所占字節(jié)大小,您可以使用 sizeof 運(yùn)算符。表達(dá)式 sizeof(type) 得到對象或類型的存儲字節(jié)大小。例如獲取 int 類型的大小:
#include <stdio.h>
#include <limits.h>
int main()
{
printf("int : %lu \n", sizeof(int));
return 0;
}
浮點類型:
float 4字節(jié) 值范圍:1.2e-38~3.4e+38 有效位:6
double 8字節(jié) 值范圍:2.3e-308~1.7e+308 有效位:8
long double 16字節(jié) 值范圍:3.4e-4932~1.1e+4932 有效位:16
代碼獲取當(dāng)前所在內(nèi)存中的詳細(xì)數(shù)據(jù)為:
#include <stdio.h>
#include <float.h>
int main()
{
printf("float 存儲最大字節(jié)數(shù) : %lu \n", sizeof(float));
printf("float 最小值: %E\n", FLT_MIN );
printf("float 最大值: %E\n", FLT_MAX );
printf("精度值: %d\n", FLT_DIG );
return 0;
}
基本數(shù)據(jù)類型的最大的特點就是不可以再被分為其他類型,也是最小的數(shù)據(jù)類型單位。
構(gòu)造類型:
數(shù)組類型(array)、結(jié)構(gòu)體類型(struct)、共用體(聯(lián)合)類型(union)、枚舉類型(enum)。
構(gòu)造數(shù)據(jù)類型是根據(jù)已經(jīng)定義的一個或者多個數(shù)據(jù)類型用構(gòu)造的方法來定義的,即構(gòu)造類型可以繼續(xù)往下劃分為各個元素為基本數(shù)據(jù)類型,是將各個數(shù)據(jù)類型構(gòu)造起來的一種類型。
指針類型:
指針類型聽起來會覺得有些抽象,指針的值用來表示某個變量在內(nèi)部存儲器中的地址,不難理解,見名知義,指針是用來指向的,它存儲的信息就是只想某一個變量。
空類型:
再調(diào)用函數(shù)值的時候,我們通常需要向調(diào)用者返回一個函數(shù)值,這個函數(shù)值是必須具有數(shù)據(jù)類型的,應(yīng)在函數(shù)定義的時候和在函數(shù)說明的時候進(jìn)行明確定義,例如:
int sum(int a, int b);
這個函數(shù)中的int就定義了返回類型就必須是整型,而又的函數(shù)調(diào)用之后并不需要向調(diào)用者返回函數(shù)值,這種函數(shù)就可以定義為“空類型”。說明符號為void。
這四項就是c語言的數(shù)據(jù)類型,其中構(gòu)造類型和指針類型我們后邊詳細(xì)敘述,關(guān)于基本類型如有疑問歡迎留言討論哦~