【发布时间】:2021-02-11 11:27:59
【问题描述】:
我想定义一个可以灵活处理矩阵的函数。也就是说,我需要一个可以处理任意大小矩阵的函数。
我的第一次尝试是将矩阵作为指针处理,这样:
#include <stdio.h>
#include <stdlib.h>
#define MAX_L 10
#define MAX_C 10
void initializeMatrix(int *matrix, int lines, int columns){
int i,j,color;
for(i=0;i<lines;i++){
for(j=0;j<columns;j++){
*(matrix+i*columns+j) = rand()%10;
}
}
}
void printMatrix(int *matrix, int lines, int columns){
int i,j,color;
for(i=0;i<lines;i++){
for(j=0;j<columns;j++){
printf("%d\t",*(matrix+i*columns+j));
}
printf("\n");
}
}
int main(){
int x,y,i,color,count,finish;
int matrix[MAX_L][MAX_C];
initializeMatrix(matrix,MAX_L,MAX_C);
printMatrix(matrix,MAX_L,MAX_C);
return 0;
}
以这种方式处理矩阵有什么问题吗?这是一个很好的做法吗?
【问题讨论】:
标签: arrays c function matrix parameters