C语言中取二维数组中元素的地址类似于取一维数组中元素的地址
首先建立一个3*3的二维数组
#include<stdio.h>
main()
{
double shuzu[3][3] =
{
{1,2,3},
{4,5,6},
{7,8,9}
};
}
取这个数组的首地址:
double * shoudizhi=shuzu;
/*
等价于
double shoudizhi; //定义首地址的变量(指针)名
shoudizhi=&shuzu ; //把首地址的
等价于
doubleshoudizhi=&shuzu[0][0].;
*/
取这个数组的第[1][2]个元素的地址: //就是取第二行第三列的元素
double * ersan;
ersan = &shuzu[1][2]; //注意不要忘记前面的 &
下面是全的代码
#include<stdio.h>
main()
{
double shuzu[3][3] =
{
{1,2,3},
{4,5,6},
{7,8,9}
};
double*yiyi = &shuzu;
double*erer = &shuzu[2][2];
double * shoudizhi=shuzu;
printf("数组的首地址是%p\n ",shoudizhi);
printf("数组中yiyi的地址是%p\n",yiyi);
printf("数组的erer元素的地址是%p\n",erer);
getchar(); //如果程序闪退,加上这一行代码,别忘记 ; 这个符号。
}