C 中 指向指標的指標「作用與應用

2021-10-07 18:56:30 字數 2233 閱讀 5717

c++中乙個指標的使用就已經讓很多人欲哭無淚,可是更不幸的是他還有指向指標的指標。指向指標的指標有時候還是非常有用的,我們這節就來介紹一下,指向指標的指標有什麼妙用。

這是乙個最常見的應用,比如:

#include

intfind

(char

*s,char src,

char

**rt)

//從s中查詢出src字元所在的位置並在rt中返回。

i++;}

return0;

}int

main

(void)/*

//補充:

列印指標的時候,會把指標所指向的內容以及至字串末位的內容都列印出來

#includeint main(void)

*/

示例2:

#include

#include

#include

/*當然有必須使用二級指標才能解決的情況,如,某個函式的功能是

返回某個問題的計算結果,但是結果資料是不確定個數的值,所以

在呼叫此函式時不知道事先應分配多少空間來儲存返回的資料,此時

的處理辦法就是傳遞乙個沒有分配空間的指標的指標(位址)進去,

讓函式自己根據計算的結果分配足夠的空間來儲存結果,並返回,

呼叫者使用了結果後,由呼叫者負責記憶體的釋放,即,大家可能聽說

過的"誰使用(呼叫)誰釋放"之類的話,如下面的**:*/

//返回不定結果個數的計算函式

//引數int **presult 儲存返回資料的指標的指標

//引數int &count 儲存返回的結果個數

void

compute2

(int

**presult,

int&count)

}//返回不定結果個數的計算函式(此函式不能返回資料)

//引數int *presult 為儲存返回資料的指標

//引數int &count 為儲存返回的結果個數

void

compute1

(int

*presult,

int&count)

}int

main

(void

)

/*

#include#include

intchange

(char

**p)

printf

("\n");

}return0;

}int

main

(void);

char

*b[5]=

;//這樣做讀取和寫入操作都是可以的。

change

(b);

return0;

}

#include

intchange

(char

**p)

printf

("\n");

}return0;

}int

main

(void);

//如果想使用 需使用指標陣列即*a[5] 宣告乙個有五個字串指標的陣列。

//但是由於每個元素都是指標字串,所以只能夠讀取,而不能夠寫入。

change

(a);

return0;

}

c++中乙個指標的使用就已經讓很多人欲哭無淚,可是更不幸的是他還有指向指標的指標。指向指標的指標有時候還是非常有用的,我們這節就來介紹一下,指向指標的指標有什麼妙用。

這是乙個最常見的應用,比如:

#include

intfind

(char

*s,char src,

char

**rt)

//從s中查詢出src字元所在的位置並在rt中返回。

i++;}

return0;

}int

main

(void)/*

//補充:

列印指標的時候,會把指標所指向的內容以及至字串末位的內容都列印出來

#includeint main(void)

*/

C 中指向常量的指標與常量指標

const double pi 3.14 double ptr 錯誤,只能使用指向常量的指標指向常量 const double ptr 正確 ptr 3.33 錯誤,不可以賦值 指向常量的指標同樣也可以指向非常量 double x 11.11 非常量 const double ptrx x 正確,只...

c 中指向函式的指標

函式指標是指指向函式而非指向物件的指標。像其他指標一樣,函式指標也指向某個特定的型別。函式型別由其返回型別以及形參表確定,而與函式名無關。int pi const string const string 這個語句將pi申明為指向函式的指標,它所指向的函式帶有兩個const string 型別的形參和...

「指向指標的指標」的作用和應用

結合來看。結合來看。1 在子函式中修改主函式傳過來的指標的指向 例子1 本質 includeint find char s,char src,char rt 從s中查詢出src字元所在的位置並在rt中返回。i return 0 int main void 補充 列印指標的時候,會把指標所指向的內容以...