gpt4 book ai didi

c++ - 使用指针算法循环动态分配的二维数组

转载 作者:行者123 更新时间:2023-11-30 02:36:25 24 4
gpt4 key购买 nike

我有一个动态分配的二维数组,我想用指针算法遍历它,因为在运行前我不知道行数和列数。

我知道如何使用一维数组执行此操作:

int *arr = new int[size];

并循环遍历它:

for (int *i = arr; i < arr + arr.size(); i++){
*i = 20; //sets all elements to 20
}

但是,我卡在了 2d 级别。这是我到目前为止所拥有的:

int **arr = new int *[row];
for(int i = 0; i<row; i++)
arr[i] = new int[col];

遍历所有值:

for(int **i=arr; i < arr + row; i++){
for(int *j=*i; j < j + col; j++){
*j = 20; // set all values to 20
}
}

第二个循环显然不正确,我只是不知道还能尝试什么。

最佳答案

你应该像对 i 一样对 j 做同样的事情。

for(int **i=arr; i < arr + row; i++){
for(int *j=*i; j < *i + col; j++){
*j = 20; // set all values to 20
}
}

关于c++ - 使用指针算法循环动态分配的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32774122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com