Files
CWithClasses/C/BasicSyntax/Pointer/pointer_test_pointer_arrary.cpp
2025-12-31 00:39:23 +08:00

43 lines
729 B
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <stdio.h>
//方法一
/*int average(int *arr,int line,int row){
int sum=0;
for(int i=0;i<line*row;i++){
sum+=*arr;
*arr++;
}
return sum;
} */
//方法二
int average(int (*arr)[3],int line,int row){
int sum=0;
for(int i=0;i<line;i++){
for(int j=0;j<row;j++){
sum+=*(*(arr+i)+j);
}
}
return sum;
}
int main(){
int * p[3];
int a[3][4];
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
scanf("%d",&a[i][j]);
}
}
for(int i=0;i<3;i++){
p[i] = a[i];
}
//在2维数组中a[i]是i行的指针&a[i]是i行的指针数组
//少用数组指针,挠头了
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
printf("%d ",*(* (p+i)+j));
}
}
//printf("%d",average(&a[0][0],3,4));
printf("%d",average(&a,3,4));
return 0;
}