How to pass 2D array (matrix) to function in C

1 Answer

0 votes
#include <stdio.h>
         
void print_matrix(int matrix[][5], int rows, int cols)
{
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) 
            printf("%5d", matrix[i][j]);
        printf("\n");
    }
}
  
int main()
{
    int matrix[][5] = { { 12, 43, 65, 10, 12 },
                         { 33, 42, 98, 80, 50 },
                         { 88, 77, 99, 100, 9843 } };
  
    int rows = sizeof matrix / sizeof matrix[0];
    int cols = sizeof matrix[0] / sizeof(int);
  
    print_matrix(matrix, rows, cols);
 
    return 0;
}
 
/*
run:
 
   12   43   65   10   12
   33   42   98   80   50
   88   77   99  100 9843
 
*/

 



answered Apr 13, 2018 by avibootz

Related questions

1 answer 149 views
1 answer 183 views
1 answer 171 views
1 answer 241 views
1 answer 160 views
1 answer 140 views
4 answers 253 views
...