如何理解*(*(a+i)+j) *(a[i]+j) *(a+i)[j] *(a+3*i+j) 的含义以上都是程序中的一部分
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/13 06:52:40
![如何理解*(*(a+i)+j) *(a[i]+j) *(a+i)[j] *(a+3*i+j) 的含义以上都是程序中的一部分](/uploads/image/z/14571571-67-1.jpg?t=%E5%A6%82%E4%BD%95%E7%90%86%E8%A7%A3%2A%28%2A%28a%2Bi%29%2Bj%29+%2A%28a%5Bi%5D%2Bj%29+%2A%28a%2Bi%29%5Bj%5D+%2A%28a%2B3%2Ai%2Bj%29+%E7%9A%84%E5%90%AB%E4%B9%89%E4%BB%A5%E4%B8%8A%E9%83%BD%E6%98%AF%E7%A8%8B%E5%BA%8F%E4%B8%AD%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86)
xSnA~I:"S'\5Ka4&Tr(ch[hu˲,W`Mvw
kQzXm*;g'>#m(ލ)ė'Rq~
7ɺELDڢ`&lX&1@EaH+LU8ߥZ4F61 is x3Wevsފ+o B:8cع@ YhcQO41nOY/Ǡ6]ѢS-h-slpV[/P-DKWbP{5mV#Ȉ> uaKs8=\M釼\hkٌVzĊWngmwq:HR
,es2+;3;0=l~^y{?]QX sEM<%eARYפlr5v$Exy{b8< C~rT"AW Oj+xX }(FLFz⠣rõ$x\6 j~T
如何理解*(*(a+i)+j) *(a[i]+j) *(a+i)[j] *(a+3*i+j) 的含义以上都是程序中的一部分
如何理解*(*(a+i)+j) *(a[i]+j) *(a+i)[j] *(a+3*i+j) 的含义
以上都是程序中的一部分
如何理解*(*(a+i)+j) *(a[i]+j) *(a+i)[j] *(a+3*i+j) 的含义以上都是程序中的一部分
前两个都可以表示a[i][j] 的值
我不是大牛,这是我的看法.如果a是一维数组,你可以认为*(a+i)是实际元素的值,但a是二维数组,你可以把二维数组当做一维数组,其中的每个元素又是一个数组.*(a+i)表示的是第i行首元素的地址.也就是a[i][0]的地址,自然*(a+i)+j表示a[i][0]后j个位置的地址.*(*(a+i)+j)也就表示为a[i][j]的值了.
给你段现编的代码:运行下自己理解下.
#include
using namespace std;
int main()
{
int a[3][3]={1,2,3,4,5,6,7,8,9};
int i=1,j=1;
int (*p)[3];//Pointer points to an array of arrays defined
p=a;
cout