天天看點

作為函數參數的指針作為函數參數的指針

作為函數參數的指針

目錄

  • 什麼是作為函數參數的指針?
  • 執行個體
  • 為什麼要用指針作為函數參數?其作用是?

1. 什麼是作為函數參數的指針?

  1. 函數的參數可以是基本類型的變量、對象名、數組名、引用,當然,也可以是指針。
  2. 作為函數形參的指針,在函數被調用的時候,實參把值傳給形參,也就是說實參和形參指針變量指向同一個記憶體位址。

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. 作用

  1. 參數雙向傳遞
  2. 減少函數調用時資料傳遞的開銷
  3. 通過指向函數的指針傳遞函數代碼的首位址

參考

  1. 這是一篇用markdown寫的博文,markdown真的還挺好用的,其文法可以參考 markdown,作者寫的蠻好的。也可以參照幫助。
  2. 該博文内容參考清華大學鄭莉教授等編著的C++程式設計第四版。

繼續閱讀