how to give value to 2d array in c code example
Example 1: how to get input in 2d array in c
#include <stdio.h>
int main(){
printf("Enter the number of columns");
int i;
scanf("%d", &i);
printf("Enter the number of rows");
int y;
scanf("%d", &y);
int r[i][y];
int a;
int b;
for (a=0; a<i; a++){
for (b=0; b<y; b++){
scanf("%d",&r[a][b]);
}
}
}
Example 2: how to pass a dynamic 2d array to a function c
#include <stdio.h>
#include <stdlib.h>
// Here the parameter is an array of pointers
void assign(int** arr, int m, int n)
{
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
arr[i][j] = i + j;
}
}
}
// Program to pass 2D array to a function in C
int main(void)
{
int m = 5;
int n = 5;
// dynamically create array of pointers of size m
int **arr = (int **)malloc(m * sizeof(int *));
// dynamically allocate memory of size n for each row
for (int r = 0; r < m; r++)
arr[r] = (int *)malloc(n * sizeof(int));
assign(arr, m, n);
// print 2D array
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%3d", arr[i][j]);
}
printf("\n");
}
// deallocate memory
for (int i = 0; i < m; i++)
free(arr[i]);
free(arr);
return 0;
}