Я начинающий пользователь языка Си. У меня проблема с выделением динамического массива.
Я использовал для выделения памяти вне цикла, например a=(int*)malloc(5* sizeof(int));
, и все работало нормально. Теперь я хочу выделить память каждому элементу один за другим в цикле, используя malloc()
, но код не работает.
Я пробовал разные варианты, такие как scanf("%d",a) &a++,scanf("%d",&a[i]);
и т. Д., Но не смог. Если кто-нибудь скажет мне, что я делал неправильно, и подробно объяснит мне концепцию, я буду благодарен.
Код, с которым у меня проблемы, следующий:
#include <stdio.h>
#include<stdlib.h>
int main()
{
int *a;
int i;
system("clear");
for(i=0;i<5; i++)
{
a=(int *)malloc(sizeof(int));
printf("%u",&a);
printf("please enter the element in array");
scanf("%d",a[i]);
}
for(i=0;i<5; i++)
{
printf("\nthe %d entry in the array %d",i,a[i]);
}
return 0;
}