利用指针的指针,修改被调函数的局部值【传引用】
生活随笔
收集整理的這篇文章主要介紹了
利用指针的指针,修改被调函数的局部值【传引用】
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
說明:利用指針的指針可以允許被調(diào)用函數(shù)修改局部指針變量和處理指針數(shù)組。
傳引用,可修改被調(diào)函數(shù)局部值。
傳值,不可修改被調(diào)函數(shù)局部值。
看代碼:
//調(diào)用方法一:傳引用(可以修改外部變量)
#include<iostream> using namespace std; //函數(shù)功能:找第一個負(fù)值//方法一: void FindCredit(int **fpp){while (**fpp != 0){if (**fpp < 0) break;else (*fpp)++;}printf("內(nèi)部:%d\n", **fpp); }//方法二: void FindCredit(int *fp){while (*fp != 0){if (*fp < 0) break;else (fp)++;}printf("內(nèi)部:%d\n", *fp); }void main(){int vals[] = { 7, 6, 5, -4, 3, 2, 1, 0 };int *fp = vals;FindCredit(&fp); //調(diào)用方法一//FindCredit(fp); //調(diào)用方法二printf("外部:%d\n",*fp);//cout << *fp << endl; //指向第一個地址//cout << *(fp+3) << endl; //指向第四個地址system("PAUSE"); } 運行結(jié)果:
//調(diào)用方法二:傳值(未能修改外部變量)
#include<iostream> using namespace std; //函數(shù)功能:找第一個負(fù)值//方法一: void FindCredit(int **fpp){while (**fpp != 0){if (**fpp < 0) break;else (*fpp)++;} }//方法二: void FindCredit(int *fp){while (*fp != 0){if (*fp < 0) break;else (fp)++;}printf("內(nèi)部:%d\n", *fp); }void main(){int vals[] = { 7, 6, 5, -4, 3, 2, 1, 0 };int *fp = vals;//FindCredit(&fp); //調(diào)用方法一FindCredit(fp); //調(diào)用方法二printf("外部:%d\n",*fp);//cout << *fp << endl; //指向第一個地址//cout << *(fp+3) << endl; //指向第四個地址system("PAUSE"); } 運行結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的利用指针的指针,修改被调函数的局部值【传引用】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java日期时间类型
- 下一篇: 【图文解释】快速排序算法