C語言常用整理

2021-08-19 21:51:18 字數 2665 閱讀 1650

1.常規變數型別定義

例如:typedef unsigned char uchar

描述:uchar等價於unsigned char型別定義 uchar c宣告等於unsigned char c宣告

2.陣列型別定義

例如: typedef int array[2];

描述: array等價於 int [2]定義; array a宣告等價於int a[2]宣告

擴充套件: typedef int array[m][n];

描述: array等價於 int [m][n]定義; array a宣告等價於int a[m][n]宣告

3.指標型別定義

例如: typedef int *pointer;

描述: pointer等價於 int *定義;pointer p宣告等價於int *a宣告

例如: typedef int *pointer[m];

描述: pointer等價於 int *[m]定義 pointer p宣告等價於int *a[m]宣告明

4.函式位址說明

描述:c把函式名字當做函式的首位址來對待,我們可以使用最簡單的方法得到函式位址

例如: 函式:int func(void); unsigned long funcaddr=(unsigned long)func, funcaddr的值是func函式的首位址

5.函式宣告

例如: typedef int func(void); func等價於 int (void)型別函式

描述1: func f宣告等價於 int f(void)宣告,用於檔案的函式宣告

描述2: func *pf宣告等價於 int (*pf)(void)宣告,用於函式指標的生命,見下一條

6.函式指標

例如: typedef int (*func)(void)

描述: func等價於int (*)(void)型別

func pf等價於int (*pf)(void)宣告,pf是乙個函式指標變數

7.識別typedef的方法:

a).第一步。使用已知的型別定義替代typdef後面的名稱,直到只剩下乙個名字不識別為正確

如typedef u32 (*func)(u8);

從上面的定義中找到 typedef __u32 u32;typedef __u8 u8

繼續找到 typedef unsigned int __u32;typedef unsigned char __u8;

替代位置名稱 typedef unsigned int (*func)(void);

現在只有func屬於未知。

b).第二步.未知名字為定義型別,型別為取出名稱和typedef的所有部分,如上為

func等價於unsigned unsigned int (*)(unsigned char);

c).第三部.定義乙個變數時,變數型別等價於把變數替代未知名字的位置所得到的型別

func f等價於unsigned unsigned int (*f)(unsigned char)

#else指令用於某個#if指令之後,當前面的#if指令的條件不為真時,就編譯#else後面的**。#endif指令將終止上面的條件塊。#elif預處理指令綜合了#else和#if指令的作用。

#elif

使您得以建立復合條件指令。如果前面的 #if 和前面的任何 #elif(可選)指令表示式的計算結果都不是 true,則將計算 #elif 表示式。如果 #elif 表示式計算為 true,編譯器將計算位於 #elif 和下乙個條件指令之間的所有**。例如:

#define vc7 //...

#if debug

console.writeline("debug build");

#elif vc7 console.writeline("visual studio 7");

#endif

可以使用運算子

==(相等)、!=(不相等)、&&(與)及 ||(或)來計算多個符號。還可以用括號將符號和運算子分組。

#elif 等效於使用:

#else #if

使用 #elif 更簡單,因為每個 #if 都需要乙個 #endif,而 #elif 即使在沒有匹配的 #endif 時也可以使用。

c語言的

列舉型別

實質就是

整型變數

,只不過通過列舉型別將一類有關聯的標識組合起來,增加程式的可讀性和可維護性

(1)

列舉型是乙個集合,集合中的元素(列舉成員)是一些命名的整型常量,元素之間用逗號,隔開。

(2) day是乙個識別符號,可以看成這個集合的名字,是乙個可選項,即是可有可無的項。

(3) 第乙個列舉成員的預設值為整型的0,後續列舉成員的值在前乙個成員上加1。

(4) 可以人為設定列舉成員的值,從而自定義某個範圍內的整數。

(5) 列舉型是

預處理指令

#define的替代。

(6) 型別定義以

分號;結束。

定義列舉型別

enum yourenumtype

;//注意一定要加上這個分號

定義列舉變數

enum yourenumtype varname;

給列舉變數賦值 varname = idx;

舉個完整的例子

enum fruit

;enmu fruit myfruit = peach;

c語言和c 常用的標頭檔案整理

c 的標頭檔案!include 字元處理 include 定義錯誤碼 include 浮點數處理 include 檔案輸入 輸出 include 引數化輸入 輸出 include 資料流輸入 輸出 include 定義各種資料型別最值常量 include 定義本地化函式 include 定義數學函式...

C 常用函式整理

記錄一些遇到的c 操作,作為個人筆記,便於查閱 1.memset 解釋 原型 常用形式 memset a src,0,sizeof a src 將陣列記憶體空間初始化,全部置為02.set 解釋 set的特性是,所有元素都會根據元素的鍵值自動排序,set的元素不像map那樣可以同時擁有實值 valu...

C 語言知識整理

c 語言知識整理 前言 c語言語法即關鍵字的使用方法 1.關鍵字介紹如何處理01 記憶體意識 1.關鍵字分類 2.變數符號實質宣告 定義 賦值 3.型別符號的使用struct union enum typedef 4.符號修飾關鍵字extern volatile static const restr...