用指针实现二维数组行列求和
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用指针实现二维数组行列求和相关的知识,希望对你有一定的参考价值。
参考技术A int main()int array[6][6] = 0;
for (int i = 0; i < 5; i ++)
for (int j = 0; j < 5; j ++)
*(*(array + i) + j) = arc4random() % 6 + 5;//随机数赋值
*(*(array + i) + 5) += *(*(array + i) + j);//对第 j 列累加
*(*(array + 5) + j) += *(*(array + i) + j);//对第 i 行累加
*(*(array + 5) + 5) += *(*(array + i) + 5);//对每行总和累加
for (int i = 0; i < 6; i ++)
for (int j = 0; j < 6; j ++)
printf("%d\t", *(*(array + i) + j));
printf("\n");
return 0;
本回答被提问者采纳
用指针实现对二维数组元素的访问
在C语言中,多维数组实际上是数组的数组,二维数组就是每个元素都是一个一维数组的一维数组。
例如a[3][4];
定义了一个3行4列的二维数组,可以将a看成是有a[0]、a[1]、a[2]三个元素组成的一维数组,而每个元素a[i]都是一个有4个整形元素的数组。
1 #include<stdio.h> 2 3 int main() 4 { 5 int i, j, a[4][3] = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}}, *p; 6 p = &a[0][0]; 7 for(i = 0; i < 4; i++){ 8 for(j = 0; j < 3; j++) 9 printf("%-3d", *(*(a+i) + j)); 10 printf("\n"); 11 } 12 printf("\n"); 13 14 for(i = 0; i < 4; i++){ 15 for(j = 0; j < 3; j++) 16 printf("%-3d", *(p + i*3 + j)); 17 printf("\n"); 18 } 19 printf("\n"); 20 21 for(i = 0; i < 12; i++, p++) 22 printf("%-3d", *p); 23 printf("\n"); 24 return 0; 25 }
以上是关于用指针实现二维数组行列求和的主要内容,如果未能解决你的问题,请参考以下文章