指標引數傳遞

2021-03-31 18:37:16 字數 620 閱讀 2713

----字串傳遞1

void test(char *p1)

int main()

-----方法2

void test(char* &p1)

int main()

---方法3

void test(char **p1)

int main()

---以下是錯誤的,因為在函式體內改變p1本身的值,不會影響實參p1本身的值

static char a[100];

void test(char *p1)

int main()

--方法4

static char a[100];

char *test()

int main()

int main()

如果函式及呼叫者都是乙個人,那上述這些程式都沒問題,但是如果函式和呼叫者是不同的人寫的,

那麼一定要寫說明如何呼叫(包括大小,是否需要釋放等),如果不說明,最好使用第一種方法(當然有長度問題)

因為使用這種方法只能使用字串陣列來傳遞,而且不需要釋放堆記憶體。

呼叫其他人的這些型別的函式,一定要注意是否需要釋放堆記憶體

自已寫的這些型別的函式供其它呼叫,一定要寫明如何呼叫。

指標引數傳遞

本文源自 1 指標作為引數傳遞進去的僅僅只是指標的值,而不是指標的位址,或者說只是指標的乙份拷貝,例如 void pointer int p intmain the p is0xbfd46498 addr is 1076599652,p is 22the p is0xbfd46498 addr is...

指標引數傳遞

relation 1 指標作為引數傳遞進去的僅僅只是指標的值,而不是指標的位址,或者說只是指標的乙份拷貝,例如 void pointer int p int main the p is 0xbfd46498 addr is 1076599652,p is 22the p is 0xbfd46498 ...

指標引數傳遞

1 指標作為引數傳遞進去的僅僅只是指標的值,而不是指標的位址,或者說只是指標的乙份拷貝,例如 void pointer int p intmain the p is0xbfd46498 addr is 1076599652,p is 22the p is0xbfd46498 addr is 1076...