相关疑难解决方法(0)

在C++中,这是顺序访问2D数组的方式(内存块方式)

编辑:我从问题标题中删除了更快/更高效,因为它有误导性..我的意图不是优化而是理解数组.抱歉,添麻烦了!

int array[10][10], i, j;

for(i=0;i<10;i++)
{
    for(j=0;j<10;j++)
        std::cin>>array[i][j];
}
Run Code Online (Sandbox Code Playgroud)

int array[10][10], i, j;

for(i=0;i<10;i++)
{
    for(j=0;j<10;j++)
        std::cin>>array[j][i];
}
Run Code Online (Sandbox Code Playgroud)

我很确定答案与如何在硬件级别实现数组有关; [] []语法只是程序员的抽象,以帮助可视化/建模.但是,我忘记了上面的代码从开始到结束依次访问内存块...

感谢所有的答案...

只是为了证实我的理解,这是否意味着第一个代码相当于

int array[10][10], k;

for(k=0;k<100;k++)
{
    std::cin>>*(array+k);
}
Run Code Online (Sandbox Code Playgroud)

c++ arrays

9
推荐指数
2
解决办法
4608
查看次数

2D数组作为函数的参数

为什么不像普通数组那样在函数中声明2D数组参数?

 void F(int bar[]){} //Ok
 void Fo(int bar[][]) //Not ok
 void Foo(int bar[][SIZE]) //Ok
Run Code Online (Sandbox Code Playgroud)

为什么需要声明列的大小?

c++

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×2

arrays ×1