关于指针的问题,这段话怎么看不懂呢?
C语言里,数组名是被看作指针来使用的,
一维数组是指针,二维数组是指向指针的指针,三
维是.........
真的是这样的吗??
看下面的例子:
void show (int * * info,int x,int y)//打印一个x*y的数组的内容
{
int i,j;
for (i=0;i<x;i++) {
for (j=0;j<y;j++) {
printf ("%d ",info[i][j]);
}
printf ("\n");
}
}
在进行如下调用之后,你的系统有崩溃的可能!
void Function (void)
{
int as [10][10];
:
:
show (as,10,10);
:
:
}
为什么?在c中,二维数组虽然是定义为指向指针的指针,但是
实际上被指向的指针是不存在的,只是在 执行as [n]时返回一个
指针罢了,as所指的不过是存放数组内容的地址!!
????????????
为什么系统有崩溃的可能?