C 漸習記 4 函式指標

2021-08-28 16:55:58 字數 1080 閱讀 4370

c++指標博大精深,氣宇軒昂,不是你我一朝一夕所能理解的,也是咱們一兩篇文章所能講透徹的,邊學邊寫邊理解,切忌,**一定要自己敲出來,才能理解透徹。

1. 指標引數

形參為指標,當對形參進行操作的時候,也相當於對實參操作

void changefunc(int *n)

於值傳遞,指標傳遞,引用傳遞這幾個方面還會存在誤區;

值傳遞:

形參是實參的拷貝,改變形參的值並不會影響外部實參的值。從被呼叫函式的角度來說,值傳遞是單向的(實參->形參),引數的值只能傳入,不能傳出。當函式內部需要修改引數,並且不希望這個改變影響呼叫者時,採用值傳遞。

指標傳遞:

形參為指向實參位址的指標,當對形參的指向操作時,就相當於對實參本身進行的操作

引用傳遞:

形參相當於是實參的"別名",對形參的操作其實就是對實參的操作,在引用傳遞過程中,被調函式的形式引數雖然也作為區域性變數在棧中開闢了記憶體空間,但是這時存放的是由主調函式放進來的實參變數的位址。被調函式對形參的任何操作都被處理成間接定址,即通過棧中存放的位址訪問主調函式中的實參變數。正因為如此,被調函式對形參做的任何操作都影響了主調函式中的實參變數。

2. 函式指標

函式存放在記憶體中的**區域,同樣也是有指標的,函式指標的位址就是函式的名字,例如 int test(int a) ,指標位址就是test

函式指標定義有引數和返回值 

這個位址講的很詳細,

常量指標和指標常量,函式指標和指標函式的記憶方法

倒著讀 char const sconst char s s is a pointer to char const,翻譯 s是乙個指標,指向常量char型別,s的指向可變,但是指向變數的內容不可以變 指標函式 優先順序 int fun 本質是乙個函式,函式返回型別是某一型別的指標。指標是修飾詞,函式...

C專題指標4

一.函式的指標 1.乙個函式在編譯時被分配乙個入口位址,這個函式的入口位址就稱為函式的指標。每乙個函式都占有一段記憶體單元,它們有乙個起始位址。函式名代表該函式的入口位址。2.指向函式的指標變數的一般定義形式為 資料型別 指標變數名 函式形參列表 3.在乙個程式中,乙個函式指標可以先後指向同型別的不...

C 指標函式和函式指標

1 指標函式 1 基本概念 指標函式 顧名思義就是帶有指標的函式,即其本質是乙個函式,只不過這種函式返回的是乙個對應型別的位址。2 定義式 type func type type 如 int max int x,int y 3 例子詳解 cpp view plain copy 1.include 2...