We will create a two-dimensional integer array "num" with 3 rows and 4 columns.
int num[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} };
Create a pointer pointed to a two-dimensional array
We will use the address operator "&" to assign the address of the first element of the array "num" to the pointer "ptr".
int *ptr = &num[0][0];
Accessing the elements of a two-dimensional array using pointer
#include <stdio.h> int main(void) { //2d array int num[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; //pointer ptr pointing at array num int *ptr = &num[0][0]; //other variables int ROWS = 3, COLS = 4, TOTAL_CELLS = ROWS * COLS, i; //print the elements of the array num via pointer ptr for (i = 0; i < TOTAL_CELLS; i++) { printf("%d ", *(ptr + i)); } return 0; }
1 2 3 4 5 6 7 8 9 10 11 12