2d array programs in C
In this program, we learn 2d array programs in C, and How to pass 2D array in Function and Passing Array with 2d array programs in C with Pointer Help of two-dimensional array.
How to pass 2d array in function
#include <stdio.h> #define M 3 #define N 3 void print(int arr[M][N]) { int i, j; for (i = 0; i < M; i++){ for (j = 0; j < N; j++) printf("%d ", arr[i][j]); printf("\n"); } } int main() { int arr[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; print(arr); return 0; }
4 5 6
7 8 9
You can also try one way is this, where the index of both dimensions are known, like in this case M and N which are 3
Create List of Menu Using Array (Click)
Short Array in Ascending Order (click)
Pass 2d array as parameter in C
If you don’t understand the first code, then you can try this, this is more clearly then 1st..tRy this
#include <stdio.h> #define M 3 #define N 3 void print(int arr[M][N]) { int i, j; for (i = 0; i < M; i++){ for (j = 0; j < N; j++) printf("%d ", arr[i][j]); printf("\n"); } } int main() { int arr[M][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; print(arr); return 0; }
4 5 6
7 8 9
Find sum of Matrix using Array (click)
or void print(int arr[][N], int firstDim); here the size of the dim is already known like, #define N 3, but the size of the firstDim i will be passed as a parameter when we call the print function in main, like print(arr,3); We can pass it using a pointer like this.
2d array using pointers
#include <stdio.h> void print(int *arr, int m, int n) { int i, j; for (i = 0; i < m; i++) for (j = 0; j < n; j++) printf("%d ", *((arr+i*n) + j)); } int main() { int arr[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int m = 3, n = 3; // We can also use "print(&arr[0][0], m, n);" print((int *)arr, m, n); return 0; }
4 5 6
7 8 9
How to declare 2d array in function
About the declaration of two dimensional Array in the c Program, that we learn it via using 3 different Programs.