c语言求助!知道数组首地址怎么求出数组元素地址?

c语言求助!知道数组首地址怎么求出数组元素地址?比如a[3][5]的首地址是0x12FF40,那么元素a[2][3]的地址是?程序该怎么输入?

单维数组名就是首地址,多维数组名就是第1维的首地址,因此取首地址,可以把数组名赋给对应的指针变量,或取索引为0的首个元素地址赋给对应的指针变量。举例:
单维 int arr[10]; int * p =arr; 或 int * p =&arr[0];
二维 int arr[10][10]; int (*p)[10] =arr; 或int (*p)[10] = &arr[0];// 取第一维地址
int arr[10][10]; int * p= & arr[0][0]; // 取多维中的首个元素
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-08
这与具体数据的类型密切相关。
设数组的数据类型为<type>,则每个元素的所占的字节数为size = sizeof(<type>),那么,当数组首地址为0X12FF40时,元素a[2][3]的存放地址为2*size + 3。追问

是整形数组

本回答被提问者采纳