亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

C++動態二維數組如何傳遞給函數

c++
小樊
81
2024-07-25 16:53:16
欄目: 編程語言

在C++中,可以通過指針或引用的方式將動態二維數組傳遞給函數。

  1. 使用指針傳遞動態二維數組:
void function(int** array, int rows, int cols) {
    // 訪問數組元素
    for(int i = 0; i < rows; i++) {
        for(int j = 0; j < cols; j++) {
            cout << array[i][j] << " ";
        }
        cout << endl;
    }
}

int main() {
    int rows = 3;
    int cols = 3;
    
    // 創建動態二維數組
    int** arr = new int*[rows];
    for(int i = 0; i < rows; i++) {
        arr[i] = new int[cols];
    }
    
    // 初始化數組
    for(int i = 0; i < rows; i++) {
        for(int j = 0; j < cols; j++) {
            arr[i][j] = i * rows + j;
        }
    }
    
    // 調用函數
    function(arr, rows, cols);
    
    // 釋放內存
    for(int i = 0; i < rows; i++) {
        delete[] arr[i];
    }
    delete[] arr;
    
    return 0;
}
  1. 使用引用傳遞動態二維數組:
void function(int**& array, int rows, int cols) {
    // 訪問數組元素
    for(int i = 0; i < rows; i++) {
        for(int j = 0; j < cols; j++) {
            cout << array[i][j] << " ";
        }
        cout << endl;
    }
}

int main() {
    int rows = 3;
    int cols = 3;
    
    // 創建動態二維數組
    int** arr = new int*[rows];
    for(int i = 0; i < rows; i++) {
        arr[i] = new int[cols];
    }
    
    // 初始化數組
    for(int i = 0; i < rows; i++) {
        for(int j = 0; j < cols; j++) {
            arr[i][j] = i * rows + j;
        }
    }
    
    // 調用函數
    function(arr, rows, cols);
    
    // 釋放內存
    for(int i = 0; i < rows; i++) {
        delete[] arr[i];
    }
    delete[] arr;
    
    return 0;
}

無論是使用指針還是引用,都可以在函數中對動態二維數組進行操作。需要注意的是,在傳遞動態二維數組給函數后,需要在函數結束后手動釋放內存,以避免內存泄漏。

0
东光县| 南江县| 明水县| 怀柔区| 秦安县| 九寨沟县| 繁昌县| 柳林县| 扎鲁特旗| 麦盖提县| 临邑县| 富平县| 霍山县| 呈贡县| 准格尔旗| 桃江县| 四川省| 铁力市| 吉首市| 阜康市| 大化| 乌拉特后旗| 沙河市| 阿尔山市| 浦城县| 普兰店市| 霍州市| 三都| 定西市| 阳春市| 新田县| 泗洪县| 永善县| 商丘市| 河东区| 夹江县| 喀喇沁旗| 威信县| 太仆寺旗| 贵定县| 繁昌县|