西西河

主题:【求助】向各位高手请教一个c语言中数组与指针的问题 -- 数值分析

共:💬84 🌺26 新:
全看分页树展 · 主题 跟帖
家园 是这样

如果二维指针与数组等价的话,要计算x[i][j]先要算x[i]=x+i*K,其中K是最后一维的维数。但你子函数中是无法得到K的值的。这是为什么说(int **)与二维数组a不是一个类型的原因之一

----------------Update-----------------------

至于x[0][0]为什么与a[0][0]值不同,是因为x[0]的值与a[0]不同,所以x[0][0]与a[0][0]值不同。

--------------再啰嗦几句----------------------

你可以查一下,a的值与a[0]的值是相同的,但x与x[0]的值是不同的。为什么?x[0]是x的值指向的地址上的值(读多少位由int*的长度决定),而a[0]的值就是a。

------------一般情况下的讨论------------------

非吾有:原因是这样的(详见内)frnkl:理解了二维array多维array就没问题了

-----------代码例子---------------------------

frnkl:试试这段代码。这个例子也很好熊熊熊熊:更详细的例子...

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河