陣列引數等同與指標引數,會在函式內改變引數值
變數引數 函式內不會改變函式值
#include
using
namespace std;
// 00affe68
void
print_score
(int array1,
int n)
}// 把每門課程的成績 , 加m分
void
add_score
(int
* porint1,
int n,
int m)
}void
test_variale
(int a,
int b,
int c)
intmain()
;// 3 x 4 = 12? 列印整個陣列的大小,所以列印12
cout <<
"score[3] 的大小 = "
<<
sizeof
(score)
<< endl;
// 00affe68
cout <<
"score[3] 的位址 = "
<< score << endl;
// 列印陣列位址
print_score
(score,3)
;// 呼叫陣列引數函式
add_score
(score,3,
10);// 呼叫指標引數函式
int a =
5, b =
6, c =7;
test_variale
(a,b,c)
;printf
("函式外變數 a = %d b = %d c = %d\n"
, a, b, c)
;return0;
}
用函式指標變數做函式的引數
有些時候我們無法及時確定函式的處理邏輯,程式需要動態的改變,這時我們可以通過定義函式指標來實現。舉個 我們有加法,乘法兩個函式,如果還要乙個除法我們怎麼做,可能我們會想到,這好辦,建立乙個除法的函式,分分鐘搞定。如果客戶還要變怎麼辦?資料還是那些資料,只是函式的功能改變了。那有點太麻煩了。我們定義乙...
C語言 指標變數做函式引數
整型變數 實型變數 字元型變數 陣列名和陣列元素等均可作為函式引數。此外,指標型變數也可以作為函式引數。include void swap int a,int b main 將上述程式改寫為 include void swap int a,int b main 對比發現改後的程式無法實現值得交換,這...
go語言 指標 new函式 指標變數做函式引數
如果學過c的都知道,指標很多地方都要用到,我們宣告乙個變數,其實就是就是開闢一塊記憶體空間,我們在操作變數的時候,並不是直接取操作變數存在的空間,而是這個變數的記憶體位址。變數名對記憶體位址的引用。因此宣告乙個變數包含 記憶體空間和記憶體位址 package main import fmt func...