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

2 Answers

0 votes
#include <stdio.h>

typedef int(*ptr)[3];

int main()
{
    int arr[2][3] = { {1, 2, 3}, {4, 5, 6} };

    ptr p = arr;

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

    return 0;
}




/*
run:

1 2 3
4 5 6

*/

 



answered Jul 20, 2023 by avibootz
0 votes
#include <stdio.h>

typedef int(*ptr)[2][3];

int main()
{
    int arr[2][3] = { {1, 2, 3}, {4, 5, 6} };

    ptr p = arr;

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

    return 0;
}




/*
run:

1 2 3
4 5 6

*/

 



answered Jul 20, 2023 by avibootz

Related questions

1 answer 111 views
5 answers 434 views
4 answers 234 views
1 answer 216 views
1 answer 56 views
...