How to declare and use a pointer for a function returning a 2D array in C

1 Answer

0 votes
#include <stdio.h>

typedef int(*ptr)[2];

int arr[2][2] = { {1, 2}, {3, 4} };

ptr f(void) {
    return arr;
}

int main()
{
    ptr p = f();  // call function f

    printf("%d %d\n", p[0][0], p[0][1]);
    printf("%d %d\n", p[1][0], p[1][1]);

    return 0;
}




/*
run:

1 2
3 4

*/

 



answered Jul 20, 2023 by avibootz

Related questions

2 answers 147 views
4 answers 234 views
1 answer 216 views
1 answer 159 views
5 answers 434 views
...