Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
#include <stdio.h> #define ROWS 3 #define COLS 4 void print_matrix(const int mat[][COLS], int rows) { for (int r = 0; r < rows; r++) { for (int c = 0; c < COLS; c++) printf("%4d", mat[r][c]); printf(" "); } } int main(void) { /* 1D array initialisation */ int arr[] = {10, 20, 30, 40, 50}; int n = sizeof(arr) / sizeof(arr[0]); /* Index-based access */ printf("arr[2] = %d ", arr[2]); /* 30 */ /* Pointer arithmetic — equivalent ways to traverse */ int *p = arr; for (int i = 0; i < n; i++) printf("%d ", *(p + i)); /* same as arr[i] */ printf(" "); /* Pointer walking */ for (int *q = arr; q < arr + n; q++) printf("%d ", *q); printf(" "); /* 2D array */ int mat[ROWS][COLS] = { { 1, 2, 3, 4}, { 5, 6, 7, 8}, { 9, 10, 11, 12} }; print_matrix(mat, ROWS); /* Flatten 2D to 1D pointer arithmetic */ int *flat = &mat[0][0]; printf("Element [1][2] via flat pointer: %d ", flat[1 * COLS + 2]); /* 7 */ return 0; }
Result
Open