主题:【求助】向各位高手请教一个c语言中数组与指针的问题 -- 数值分析
数组名是什么?这是关键。这个东东不是指针,虽然有的书上说它是常数指针(const pointer),但叫它指针只能把读者彻底搞糊涂。见过一个指针满足 &p=p=*p 吗?要想真正理解多维数组,请运行下面的代码。
----------------------------------
int main()
{
int a[2][2], b[3][4][5];
a[0][0]=1;
b[0][0][0]=99;
// 2-dim example
printf("%d,%d,%d\n",a, (int *)a, (int **)a);
printf("%d,%d,%d\n",*a, *((int *)a), *((int **)a));
printf("%d,%d,%d\n",*a+1, *((int *)a)+1, *((int **)a)+1);
printf("%d,%d,%d,%d\n", &a,a,*a,**a); //Same output for &a, a, *a.
printf("%d,%d,%d,%d\n", &a+1,a+1,*a+1,**a+1); //Note the difference.
// 3-dim example
printf("%d,%d,%d,%d\n",b, (int *)b, (int **)b, (int ***)b);
printf("%d,%d,%d,%d\n",*b, *((int *)b), *((int **)b), *((int ***)b));
printf("%d,%d,%d,%d\n",*b+1, *((int *)b)+1, *((int **)b)+1, *((int ***)b)+1);
printf("%d,%d,%d,%d,%d\n", &b, b, *b, **b, ***b); //Same output for &b, b, *b, **b.
printf("%d,%d,%d,%d,%d\n", &b+1, b+1, *b+1, **b+1, ***b+1); //Note the difference.
}
本帖一共被 2 帖 引用 (帖内工具实现)
- 相关回复 上下关系8
🙂【求助】向各位高手请教一个c语言中数组与指针的问题 数值分析 字630 2009-02-17 22:11:47