int a[2][3]={{4,5,6},{1,2,3}};output(&a[0][0],2,3); //将第一个元素的地址传递。getchar();return 0;}
C语言的数组(不管多少维)在内存中都是线性储存的。所以用一级指针加偏移就可以访问所有元素。举个例子,有一个10*10的二维数组a,这样就可以输出:int a[10][10];int *p = (int *)a;int i;for (i = 0; i < 10 * 10; i++)printf("%d", *(p + i));
for(int i=0;i<2;i++){ for(int j=0;j<3;j++){ printf("%p",*(a+i)+j);} } ...
相关推荐 1求一个3*3矩阵对角线元素之和!用C语言编写!最好是用C++!怎么写!谢谢!~通过双重for循环控制输入二维数组a,再将a[i][i]累加后输出! 2 求一个3*3矩阵对角线元素之和! 用C语言编写!最好是用C++!怎么写!谢谢!~通过双重for循环控制输入二维 数组a,再将a[i][i]累加后输出!
用C语言编写!最好是用C++!怎么写!谢谢!~通过双重for循环控制输入二维数组a,再将a[i][i]累加后输出! 扫码下载作业帮搜索答疑一搜即得 答案解析 查看更多优质解析 举报 #include #include void main(){int a[3][3];int i,j;//i为行j为列int sum=0;int sum1=0;//输入for( i=0; i 解析看不懂...