How to pass a 2D array to a function using single pointer in C

1 Answer

0 votes
#include <stdio.h>

#define ROW 5
#define COL 10

void func(char *parr, int row, int col) {
     for (int i = 0; i < row; i++) {
          printf("%s\n", parr + sizeof(char) * col * i);
     }
}

int main(void) {
        char arr[ROW][COL] = {"c", "c++", "c#", "java", "python"};

        func((char*)arr, ROW, COL);

        return 0;
}

   
   
/*
run:
   
c
c++
c#
java
python
   
*/

 

 



answered Jun 21, 2020 by avibootz

Related questions

4 answers 253 views
1 answer 149 views
1 answer 115 views
1 answer 140 views
1 answer 145 views
2 answers 167 views
1 answer 144 views
...