主题:【求助】向各位高手请教一个c语言中数组与指针的问题 -- 数值分析
共:💬84 🌺26
复 del
一个关键之处是array(包括任何维)的名字不能做变量,就是说,名字本身不能放在等号的左边。如果是三维的array,记住array[i]和array[i][j]也都不是变量,只有array[i][j][k]是。其它高维情况类推。
更关键的是高维指针与高维array的区别。其实LZ的问题可以抽象为:定义int **x, int a[m][n],怎样才能使x[i][j]=a[i][j]?很简单,必须首先赋值使x[0]=&a[0][0],x[1]=&a[1][0],...,x[m-1]=&a[m-1][0](或者等价的,x[0]=a,x[1]=a+1,...,x[m-1]=a+m-1)。令x=a达不到上述目的。
本帖一共被 1 帖 引用 (帖内工具实现)
- 相关回复 上下关系8
🙂del 熊熊熊熊 字0 2009-02-19 15:11:58
🙂其实x[0][0]可以用在f1中,只是编译器对 frnkl 字79 2009-02-19 19:42:23
🙂del 熊熊熊熊 字0 2009-02-19 19:47:02
🙂理解了二维array多维array就没问题了
🙂试试这段代码 frnkl 字262 2009-02-19 19:50:07
🙂你这个main里面 电子赵括 字228 2009-02-22 15:34:18
🙂del 熊熊熊熊 字1 2009-02-19 20:55:30
🙂把 f1(b+2);这句去掉就没问题了。 frnkl 字0 2009-02-19 20:57:16