在C++中,可以通過將指針作為參數(shù)傳遞給函數(shù)來(lái)傳遞二級(jí)指針。二級(jí)指針是指向指針的指針,也稱為指向指針的指針。當(dāng)傳遞二級(jí)指針給函數(shù)時(shí),需要將指針的地址傳遞給函數(shù),以便在函數(shù)中對(duì)指針進(jìn)行修改。
以下是一個(gè)示例代碼,演示如何傳遞二級(jí)指針給函數(shù):
#include <iostream>
void modifyPointer(int** ptr) {
int value = 10;
*ptr = &value;
}
int main() {
int* ptr = nullptr;
modifyPointer(&ptr);
if(ptr != nullptr) {
std::cout << "The value pointed to by the pointer is: " << *ptr << std::endl;
} else {
std::cout << "Pointer is null" << std::endl;
}
return 0;
}
在上面的代碼中,modifyPointer
函數(shù)接受一個(gè)int**
類型的參數(shù),表示一個(gè)指向指針的指針。在main
函數(shù)中,我們聲明了一個(gè)指針ptr
并將其地址傳遞給modifyPointer
函數(shù)。在modifyPointer
函數(shù)中,我們將一個(gè)整數(shù)值的地址賦值給指針ptr
,從而修改了指針的指向。
當(dāng)我們運(yùn)行上面的代碼時(shí),輸出結(jié)果應(yīng)該是:
The value pointed to by the pointer is: 10
這表明我們成功地傳遞了二級(jí)指針并修改了指針的指向。