Welcome to collectivesolver - Programming & Software Q&A. A website you can trust. All programs tested and works. Contact: aviboots(AT)netvision.net.il
Bonsai Boy of New York Bonsai Trees and Accessories

BlueHost Web Hosting

Liquid Web Managed Dedicated Server: RAID 1 SSD with 16GB of RAM minimum! 24/7 On-Site Heroic Support! Industry-Leading SLA!

Ecommerce Software - Best Ecommerce Platform Made for You - Free Trial

Ecommerce Software - Best Ecommerce Platform Made for You - Free Trial

getflywheel wordpress hosting


Liquid Web Cloud VPS Hosting

10,405 questions

14,169 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 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 by avibootz
...