一、基本數據類型
C語言中的基本數據類型包括整型、浮點型、字符型和布爾型。
1. 整型
整型分為有符號整型和無符號整型。有符號整型包括:char、short、int和long四種類型。無符號整型包括:unsigned char、unsigned short、unsigned int和unsigned long四種類型。下面是一個整型變量的定義示例:
int a; // 定義一個有符號整型變量a unsigned int b; // 定義一個無符號整型變量b
2. 浮點型
浮點型分為單精度浮點型(float)和雙精度浮點型(double)兩種類型。常用的是雙精度浮點型。下面是一個浮點型變量的定義示例:
double c; // 定義一個雙精度浮點型變量c
3. 字符型
字符型用於表示單個字符,使用char類型定義。下面是一個字符型變量的定義示例:
char d; // 定義一個字符型變量d
4. 布爾型
布爾型代表“真”或“假”這兩個值,使用_Bool類型定義。下面是一個布爾型變量的定義示例:
_Bool e; // 定義一個布爾型變量e
二、複合數據類型
複合數據類型包括數組、結構體和枚舉類型。
1. 數組
數組是一組同類型的數據元素的集合,使用數組名和下標表示數組中的元素。下面是一個整型數組的定義示例:
int array[10]; // 定義一個包含10個元素的整型數組
2. 結構體
結構體是一種自定義的數據類型,可以把不同類型的數據組合成一個整體。下面是一個結構體的定義示例:
struct student { char name[20]; // 姓名 int age; // 年齡 char gender; // 性別 }; struct student stu; // 定義一個結構體變量stu
3. 枚舉類型
枚舉類型用於定義一組常量。下面是一個枚舉類型的定義示例:
enum color { RED, BLUE, GREEN }; enum color c = RED; // 定義一個枚舉類型變量c,並初始化為RED
三、指針類型
指針類型用於存儲變量的內存地址,可以用來獲取或修改變量的值。下面是一個指針類型變量的定義示例:
int a = 10; int *p = &a; // 定義一個指向整型變量a的指針變量p
四、常量類型
常量類型分為字面常量和符號常量兩種類型。
1. 字面常量
字面常量包括整型常量、浮點型常量、字符常量和布爾常量。下面是一個整型常量的定義示例:
int a = 10; // 定義一個整型常量a,值為10
2. 符號常量
符號常量使用#define指令定義,可以使用符號常量代替常量值。下面是一個符號常量的定義示例:
#define PI 3.14159 // 定義一個圓周率符號常量PI const int MAX_SIZE = 100; // 定義一個最大長度常量MAX_SIZE
五、類型限定符
類型限定符用於對變量進行修飾,包括const、volatile、restrict和_Static_assert。
1. const限定符
const限定符用於指示變量是只讀的,不允許修改變量的值。下面是一個const限定符的定義示例:
const int a = 10; // 定義一個只讀的整型常量a
2. volatile限定符
volatile限定符用於指示變量的值可以被隨時修改,例如在中斷服務程序中。下面是一個volatile限定符的定義示例:
volatile int flag = 0; // 定義一個用於中斷服務程序的標誌變量flag
3. restrict限定符
restrict限定符用於指示指針所指向的內存區域沒有別的別名。下面是一個restrict限定符的定義示例:
void copy(int * restrict dest, const int * restrict src, size_t n) { for (size_t i = 0; i < n; i++) { dest[i] = src[i]; } }
4. _Static_assert限定符
_Static_assert限定符用於在編譯時進行斷言檢查,如果表達式為假,則編譯器會輸出錯誤信息。下面是一個_Static_assert限定符的定義示例:
_Static_assert(sizeof(int) == 4, "int類型必須佔用4個字節的內存");
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/154869.html