指向指標的指標的用途

2021-08-03 22:48:02 字數 744 閱讀 9494

在閱讀apache的原始碼時,發現一處使用指標的指標的案例,平時沒有夠多考慮指向指標的指標這個問題,今天順便理解了一下,這裡沾上apache的原始碼,這時apr乙個很經常用的函式,就是根據字串的中斷值來獲取中斷值隔開的字串,比如「t=0&l=1&x=2&y=3」,這個函式可以通過『&』來獲取t l x y的值,它會將開始的字串位址輸入str,中斷值輸入為sep,last是中斷值後面字串開始的位址,獲取每個中斷值隔開的字串後,將中斷值所在的位置設為『/0』,這樣取走每乙個字串,每取走乙個字串就將中斷值後面的字串起始位址傳給last,這樣乙個乙個的獲取所有的字串,但是這裡的last為什麼是指向指標的指標呢?下面是函式原始碼。

apr_declare(char *) apr_strtok(char *str, const char *sep, char **last)

return token;

}

呼叫**

for(pair = apr_strtok(p+4,delim,&last);pair != null;

pair = apr_strtok(null,delim,&last))

將last設定為指向指標的指標的原因是,如果傳入的指標,那麼只是乙個副本,這個指標改變了並不能改變外部呼叫的指標的位址,如果是指向指標的指標,那麼*last即字串的位址改變了之後,相當於改變了last指向的內容,last不變,但他指向的內容即字串的位址改變了,這樣指向字串的值也就變了,達到了目的。

指向指標的指標

理解二級指標,關鍵是理解指標的儲存方式和意義。這裡以指向int型指標的指標為例,梳理一下二級指標在記憶體分配中 的奧妙.include using namespace std int main int p a int point p cout a a endl p p endl p p endl p...

指向指標的指標

這幾天我下意識地琢磨到底 錯了,今天猛然明白了他的想法,其實這個技術點我早已掌握,只是當時對問題未深入思考,把握得較模糊,一時沒洞察他的思路,疏忽了。問題大概是這樣的 寫乙個函式,將乙個二維陣列作乙個變換。void rotate array 開闢備份空間 根據變換要求將元素一一賦值 因為這個方法並不...

指向指標的指標

一 回顧指標概念 讓我們先回顧一下指標的概念吧!當我們程式如下申明變數 short int i char a short int pi 程式會在記憶體某位址空間上為各變數開闢空間,如下圖所示。圖中所示中可看出 i 變數在記憶體位址5的位置,佔兩個位元組。a變數在記憶體位址7的位置,佔乙個位元組。接下...