How to find 2D array (matrix) dimensions (rows, cols) in C

1 Answer

0 votes
#include <stdio.h> 

int main(void)
{   
    int matrix[3][2] = {{1, 2},
                        {3, 4},
                        {5, 6}};
 
    size_t rows = sizeof matrix/sizeof matrix[0];
    size_t cols = (sizeof matrix/sizeof matrix[0][0])/rows;

    printf("rows = %lu\n", rows); // also try %zu for size_t
    printf("cols = %lu\n", cols); // also try %zu for size_t
            
    return 0;
}

  
/*
run:

rows = 3
cols = 2

*/

 



answered Jun 1, 2017 by avibootz
edited Apr 14, 2018 by avibootz

Related questions

1 answer 242 views
1 answer 269 views
2 answers 426 views
1 answer 307 views
1 answer 330 views
...