在本教程中,您將學(xué)習(xí)C編程中的基本數(shù)據(jù)類型,例如int,float,char等。
在C語言中有以下數(shù)據(jù)類型:
類型 | 數(shù)據(jù)類型 |
---|---|
基本數(shù)據(jù)類型 | int, char, float, double |
派生數(shù)據(jù)類型 | array, pointer, structure, union |
枚舉數(shù)據(jù)類型 | enum |
Void數(shù)據(jù)類型 | void |
在C編程中,數(shù)據(jù)類型是變量的聲明。這決定了與變量關(guān)聯(lián)的數(shù)據(jù)的類型和大小。例如:
int myVar;
在這里,myVar是int(整數(shù))類型的變量。int的大小為4個字節(jié)。
下表羅列出C語言編程中常用的基本數(shù)據(jù)類型。
數(shù)據(jù)類型 | 存儲大小 | 范圍 |
---|---|---|
char | 1 字節(jié) | -128 到 127 |
signed char | 1 字節(jié) | -128 到 127 |
unsigned char | 1 字節(jié) | 0 到 255 |
short | 2 字節(jié) | -32,768 到 32,767 |
signed short | 2 字節(jié) | -32,768 到 32,767 |
unsigned short | 2 字節(jié) | 0 到 65,535 |
int | 2 或 4 字節(jié) | -32,768 到 32,767 |
signed int | 2 或 4 字節(jié) | -32,768 到 32,767 |
unsigned int | 2 或 4 字節(jié) | 0 到 65,535 |
short int | 2 字節(jié) | -32,768 到 32,767 |
signed short int | 2 字節(jié) | -32,768 到 32,767 |
unsigned short int | 2 字節(jié) | 0 到 65,535 |
long int | 4 字節(jié) | -2,147,483,648 到 2,147,483,647 |
signed long int | 4 字節(jié) | -2,147,483,648 到 2,147,483,647 |
unsigned long int | 4 字節(jié) | 0 到 4,294,967,295 |
float | 4 字節(jié) | |
double | 8 字節(jié) | |
long double | 10 字節(jié) |
整數(shù)可以具有零,正和負(fù)值。例如,0,-5,10
我們可以int用來聲明一個整數(shù)變量。
int id;
在這里,id是整數(shù)類型的變量。
您可以在C語言編程中一次聲明多個變量。例如,
int id, age;
int的大小通常為4個字節(jié)(32位)。
float并且double用于保存實數(shù),也就是含有小數(shù)點的數(shù)字。
float salary; double price;
在C語言中,浮點數(shù)也可以用指數(shù)表示。例如,
float normalizationFactor = 22.442e2;
float和double之間有什么區(qū)別?
float(單精度浮點數(shù)據(jù)類型)的大小為4個字節(jié)。double(雙精度浮點數(shù)據(jù)類型)的大小為8個字節(jié)。
關(guān)鍵字char用于聲明字符類型變量。例如,
char test = 'h';
字符變量的大小為1個字節(jié)。
void是空類型,一般用于函數(shù)的返回類型表示,表示該函數(shù)啥都不返回。
例如,如果函數(shù)不返回任何內(nèi)容,則其返回類型應(yīng)為void。
請注意,您不能創(chuàng)建void類型的變量。
void 類型指定沒有可用的值。它通常用于以下三種情況下:
類型與描述 |
---|
函數(shù)返回為空 C 中有各種函數(shù)都不返回值,或者您可以說它們返回空。不返回值的函數(shù)的返回類型為空。例如 void exit (int status); |
函數(shù)參數(shù)為空 C 中有各種函數(shù)不接受任何參數(shù)。不帶參數(shù)的函數(shù)可以接受一個 void。例如 int rand(void); |
指針指向 void 類型為 void * 的指針代表對象的地址,而不是類型。例如,內(nèi)存分配函數(shù) void *malloc( size_t size ); 返回指向 void 的指針,可以轉(zhuǎn)換為任何數(shù)據(jù)類型。 |
如果需要使用較大的數(shù)字,則可以使用long類型說明符。方法如下:
long a; long long b; long double c;
這里變量a和b可以存儲整數(shù)值。并且,c可以存儲浮點數(shù)。
如果您確定只使用一個小整數(shù)(范圍為[?32,767, +32,767]),則可以使用short。
short d;
您可以使用sizeof()運算符檢查變量的大小。示例如下:
#include <stdio.h> int main() { short a; long b; long long c; long double d; printf("short 字節(jié)大小 = %d 字節(jié)\n", sizeof(a)); printf("long 字節(jié)大小= %d 字節(jié)\n", sizeof(b)); printf("long long 字節(jié)大小= %d 字節(jié)\n", sizeof(c)); printf("long double 字節(jié)大小= %d 字節(jié)\n", sizeof(d)); return 0; }
輸出結(jié)果:
short 字節(jié)大小 = 2 字節(jié) long 字節(jié)大小= 4 字節(jié) long long 字節(jié)大小= 8 字節(jié) long double 字節(jié)大小= 8 字節(jié)
在C中,signed和unsigned是類型修飾符。您可以使用它們來更改數(shù)據(jù)類型的數(shù)據(jù)存儲。例如,
unsigned int x; int y;
在這里,x由于我們使用了unsigned修飾符,因此該變量只能存儲零和正值。
考慮到int的大小為4個字節(jié),變量y可以保存從-231 到 231-1的值,而變量x可以保存從0 到 232-1的值。
用C語言編程中,還有其他數(shù)據(jù)類型是:
布爾型
枚舉類型
復(fù)數(shù)雜類型
從基本數(shù)據(jù)類型派生的數(shù)據(jù)類型是派生類型。例如:數(shù)組,指針,函數(shù)類型,結(jié)構(gòu)等。
我們將在以后的教程中了解這些派生的數(shù)據(jù)類型。