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 234 views
1 answer 131 views
1 answer 97 views
1 answer 123 views
1 answer 132 views
2 answers 149 views
1 answer 132 views
...