小编sas*_*ash的帖子

关于指针指针的问题

double a=4;
double *x=&a;
double **y=&x;
cout <<x<<endl<<(y+1)<<endl<<(y+1)[0]<<endl<<y[1];
Run Code Online (Sandbox Code Playgroud)

如果我运行上面的C++代码,输出将是:

0x28fef0

0x28fef0

0

0

我知道x的值是变量a的地址,y的值是变量x的地址.但是怎么来x = y + 1?y + 1,(y + 1)[0]和y [1]是什么意思?谢谢你的帮助!

c++

4
推荐指数
1
解决办法
100
查看次数

为什么总是避免使用C/C++中的多维数组进行数值计算?

在数值计算中,我们经常处理矩阵和张量,但是当我们用C/C++编写代码时,为什么我们总是使用一维数组来表示矩阵和张量?为什么我们不能使用多维数组呢?显然,多维数组更方便,就像在Matlab中一样.多维数组是否会花费太多内存?谢谢你的任何解释.

PS:我正在读一本数值计算代码.三指数张量T(i,j,k)总是由一维阵列T [1]表示,其中l = i + jI + kIJ(IJK分别是指数ijk的维度).我想知道我是否可以在三维数组T [i] [j] [k]中写出张量?

c c++ arrays multidimensional-array

0
推荐指数
1
解决办法
2210
查看次数

标签 统计

c++ ×2

arrays ×1

c ×1

multidimensional-array ×1