作為函數參數的指針
目錄
- 什麼是作為函數參數的指針?
- 執行個體
- 為什麼要用指針作為函數參數?其作用是?
1. 什麼是作為函數參數的指針?
- 函數的參數可以是基本類型的變量、對象名、數組名、引用,當然,也可以是指針。
- 作為函數形參的指針,在函數被調用的時候,實參把值傳給形參,也就是說實參和形參指針變量指向同一個記憶體位址。
2. 執行個體
例1: 這是我在網上一篇部落格上看到的問題,結果是5,值沒有傳回來,那麼隻要将
p=&b;
改成
*p=b;
就可以了,大家可以自己嘗試一下,相信會有更深的了解。
#include<stdio.h>
void Try_change(int *p)
{
int b=;
p=&b; //若在這裡改成 *p=b;的話最後的結果就會是
}
int main()
{
int *p=NULL;
int a=;
p=&a;
Try_change(p);
printf("%d\n",*p);
return ;
}
3. 作用
- 參數雙向傳遞
- 減少函數調用時資料傳遞的開銷
- 通過指向函數的指針傳遞函數代碼的首位址
參考
- 這是一篇用markdown寫的博文,markdown真的還挺好用的,其文法可以參考 markdown,作者寫的蠻好的。也可以參照幫助。
- 該博文内容參考清華大學鄭莉教授等編著的C++程式設計第四版。