Welcome to collectivesolver - Programming & Software Q&A. A website you can trust. All programs tested and work.

aviboots(AT)netvision.net.il

Instant Grammar Checker - Correct all grammar errors and enhance your writing
BlueHost Web Hosting

Profollica™ is a standout product in the hair regrowth industry.

New Arrival!  Shop NOW for metal eyeglasses at GlassesShop.com!

Bonsai Boy of New York Bonsai Trees and Accessories

DreamCloud The Comfortable Luxury Mattress Ecommerce Software - Best Ecommerce Platform Made for You - Free Trial

DreamHost Web Hosting


Liquid Web Cloud VPS Hosting

Disclosure We are a professional Programming & Software Q&A website, that receives compensation from some of the links whose we show you with Information. It means that my content may contain affiliate links.

13,696 questions

18,622 answers

573 users

How to print 2D array (matrix) using pointers in C

2 Answers

0 votes
#include <stdio.h>

#define ROWS 2
#define COLS 3
  
void print_matrix(int (*matrix)[COLS], int rows, int cols) {
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            printf("%2i", *(*(matrix + i) + j));
        }
        printf("\n");
    }
}
   
int main() {
    int matrix[ROWS][COLS] = {{5, 3, 8}, {9, 2, 4}};
 
    print_matrix(matrix, ROWS, COLS);
}
   
  
  
   
/*
run:
    
 5 3 8
 9 2 4
  
*/

 




answered Apr 4, 2019 by avibootz
0 votes
#include <stdio.h>

#define ROWS 2
#define COLS 3
  
void print_matrix(int (*matrix)[COLS], int rows, int cols) {
    int *p = &matrix[0][0];
  
    for (int i = 0; i < ROWS * COLS; i++) {
        printf("%2i", *(p + i));
    }
    printf("\n");
}
   
int main() {
    int matrix[ROWS][COLS] = {{5, 3, 8}, {9, 2, 4}};
 
    print_matrix(matrix, ROWS, COLS);
}
   
  
  
   
/*
run:
    
 5 3 8 9 2 4
  
*/

 




answered Apr 4, 2019 by avibootz
...