Хотя мы объявляем функцию с целочисленным массивом, мы передаем адрес массива функции. В случае простых целых чисел это дает ошибку, если мы передаем адрес, мы получаем ошибку преобразования указателя. Но как это возможно в случае массива
#include<stdio.h>
void print_array(int array[][100],int x, int y);
main()
{
int i,j,arr[100][100];
printf("Enter the array");
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
scanf("%d",&arr[i][j]);
}
}
print_array(arr,i,j);
}
void print_array(int array[][100],int x,int y)
{
int i,j;
printf("\nThe values are\n");
for(i=0;i<x;i++)
{
for(j=0;j<y;j++)
{
printf("%d",array[i][j]);
}
}
}
У меня вопрос, хотя наша функция объявлена как целая с массивом целых чисел в качестве первого параметра (здесь), мы передаем адрес массива при вызове функции. Как это работает?