代码如下:
#include
int main()
{
int a[3][2]={(0,1),(2,3),(4,5)};
int* p;
p=a[0];
printf("%dn",p[0]);//p[0]表示*(p+0)
return 0;
}
首先:
应服务器托管网该了解对于一个二维数组a[0]表示什么
在想这个问题之前先把二维数组想象成一维数组:比如a[3][2]可以看做成一维数组a[3],其表示一个数组中有三个元素,每个元素又包括两个元素
所以:a[0]就表示首元素的地址,也就是第一行的地址 而a也表示首元素的地址,但是a和a[0]的地址跨度不同,a+1跨了一个一维数组,而a[0]+1只跨了一个元素
a[0]=a[0][0],(a[0]+1)=a[0][1] 互逆
其次:
int a[3][2]={(0,1),(2,3),(4,5)};
这条语句中的(0,1)(2,3)(4,5)是逗号表达式,也就是说这个二维数组中的元素应该是:
int a[3][2]={1,3,5};
所以*(p+0)=*(a[0]+0)=1
所以最后答案为:1
这道题主要是搞懂二维数组a和a[0]的不同以及逗号表达式
服务器托管,北京服务器托管,服务器托管网服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 线性代数的本质(二)——线性变换与矩阵
线性变换与矩阵文章目录 线性变换与矩阵 线性变换与二阶方阵 常见的线性变换 复合变换与矩阵乘法 矩阵的定义 列空间与基 矩阵的秩 逆变换与逆矩阵 线性变换与矩阵 线性变换与二阶方阵 本节从二维平面出发学习线性代数。通常选用平面坐标系 O x y Oxy Oxy ,基向量为 …