C++二級(jí)指針如何傳遞給函數(shù)

c++
小樊
84
2024-08-02 20:07:14

在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í)指針并修改了指針的指向。

0