C語言學習筆記 函式與指標

2022-06-25 19:48:11 字數 1250 閱讀 1497

(1)c 語言中的函式有自己特定的型別,這個型別由返回值、引數型別和引數個數共同決定。如 int add(int i,int j)的型別為 int(int,int)。

(2)c 語言中通過 typedef 為函式型別重新命名

typedef type name(parameter list);//如 typedef int f(int,int);

(1)函式指標用於指向乙個函式,函式名是執行函式體的入口位址。

(2)定義函式指標的兩種方法

①通過函式型別定義:functype* pointer;

②直接定義:type(*pointer)(parameter list);

其中 type 為返回值型別,pointer 為函式指標變數名,parameter list 為引數型別列表

#include typedef 

int (func)(int

);int test(int

i)void

f()int

main()

(1)**函式是利用函式指標實現的一種呼叫機制

(2)**機制原理

①呼叫者不知道具體事件發生時需要呼叫的具體函式

②被調函式不知道何時被呼叫,只知道需要完成的任務

③當具體事件發生時,呼叫者通過函式指標呼叫具體函式。

(3)**機制中的呼叫者和被呼叫者互不依賴。

**函式使用

#include typedef 

int (*weapon)(int); //

操作某種**的函式

//使用某種**與boss進行戰鬥

void fight(weapon wp,int arg) //

arg為傳給函式指標的引數

//使用**——刀

int knife(int

n) printf("\n

");return

ret; }//

使用**——劍

int sword(int

n) printf("\n

");return

ret; }//

使用**——槍

int gun(int

n) printf("\n

");return

ret;

}int

main()

函式指標是實現**機制的關鍵技術,通過函式指標可以在 c 程式中實現固定位址跳轉

C語言學習筆記之函式指標與函式指標陣列

指標函式 本質是乙個函式 是乙個返回指標型別的函式 int sum 函式指標 本質是乙個指標 是乙個指向函式的指標 int p int,int sum p 5,6 int sum int a,int b 指標陣列 陣列內儲存的都是指標 int p 2 int a 20 int arr 5 int p...

C語言學習筆記 指標與位址

機器的儲存器通常由連續編號的儲存單元序列組成,這些儲存單元可以以單個或者相連成組的方式操縱 通常情況下,乙個位元組可以表示乙個字元,一對相連的儲存單元可以表示乙個短整數,而四個相鄰的位元組則構成乙個長整數 指標是能存放乙個位址的一組儲存單元,從本質上講,指標是乙個變數,而它的變數值是所指向物件 可以...

C語言學習筆記 指標與陣列

在c語言中,陣列與指標的關係非常密切,陣列下標所能完成的任何運算都可以用指標來實現 一般而言,指標運算比陣列下標運算的速度快,但用指標實現的程式理解起來稍微有一些難度 一 指標與一維陣列 int a 10 定義了乙個大小為10的整型陣列a int pa a 0 將指標pa指向陣列a的第0個元素,即p...