使用指標做引數

2021-06-06 17:51:20 字數 404 閱讀 9004

在寫**的時候 ,我們經常會使用指標來做引數,修改引數的值,但如果使用不當會出現很多問題,下面來看兩個例子

1、

#includeusing namespace std;

void getmemory(char *p, int num)

int main()

int main()

{ char *str = null;

getmemory(&str, 100);

strcpy(str, "hello");

cout << *str <

p指向str,而不是指向str所指向的null,*p也就是str,*p= malloc...也就是str = malloc..所以改變了str,使其指向了分配的空間。

指標做函式引數

程式1 void main void mymalloc char s 我想在函式中分配記憶體,再返回 mymalloc p 的執行過程 分配乙個臨時變數char s,s的值等於p,也就是null,但是s占用的是與p不同的記憶體空間。此後函式的執行與p一點關係都沒有了!只是用p的值來初始化s。然後s ...

指標型別做引數

includeusing namespace std void f int a int d 10 a d cout a 對a取址,呼叫函式f的時候,新建了乙個和 a一樣的副本,這個副本和 a都指向a,但是後來又把副本賦值成了 d,這樣第乙個輸出就是10,而外邊的 a,並未改變,還是5。include...

函式指標做函式引數

函式指標是指向函式的指標變數,即本質是乙個指標變數。int f int x 宣告乙個函式指標 f func 將func函式的首位址賦給指標f 指向函式的指標包含了函式的位址,可以通過它來呼叫函式。宣告格式如下 型別說明符 函式名 引數 其實這裡不能稱為函式名,應該叫做指標的變數名。這個特殊的指標指向...