簡體   English   中英

這是初始化可變大小數組的正確方法嗎

[英]Is this the correct way of initializing a variable-sized array

我想創建一個可變大小的二維數組,行數為 m,列數為 n。 m 和 n 的第 th 個值是在執行期間從用戶處獲取的。 以下方法有效並產生輸出。 現在讓我知道這在與 cpp 相關的所有場景中在技術上是否可行。

#include<iostream>
using namespace std;

int main() {
    int **arr, m,n;
    cout<<"enter";
    cin>>m>>n;
    arr = new int*[m];

    for(int i = 0; i < m; i++) {
        arr[i]=new int[n];  // initializing a variable-sized array
    }

    for(int i = 0; i < m; i++) {
        for(int j = 0; j < n; j++) {
            cout<<arr[i][j];  // printing the array
        }
    }
}

根據您的說法,我認為您需要一個二維數組,其中列數和行數在運行時確定。

所以要創建這個數組,我們使用以下語法:

int l = 5; //set this on runtime with a cin or something else
int k = 5; //set this on runtime with a cin or something else

int array [k][l] = {};

恭喜這段代碼創建了一個 5x5 大小的多維數組,其中每個整數都用數字 '0' 初始化,因為這是整數的默認初始化

有關更多信息,您應該查看以下鏈接:

聲明和初始化數組

多維數組

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM