0
В настоящее время я пытаюсь учиться, но файл, который был отправлен мне, неверен. Я попытался исправить пару вещей, но он начинается, и сразу после этого он раздавит. Я изучаю динамическую память, поэтому я этого не знаю. Вот код для realloc();Новое в динамической памяти. realloc();
#include <stdio.h> /* printf, scanf, NULL */
#include <stdlib.h> /* malloc, free, rand */
int main()
{
int count=0,i;
int *stations=NULL,*ptrToStations=NULL;
for(i=1;i<=7;i++,count++)
{
ptrToStations=(int*)realloc(stations,count*sizeof(int));
if(ptrToStations!=NULL)//заделили сме памет
{ stations = ptrToStations;
ptrToStations[count]=i;}
}
for(i=0;i<7;i++)
printf("%d",stations[i]);
printf("\n");
//добавяне на 8 елемент
ptrToStations=(int*)realloc(stations,++count*sizeof(int));
if(ptrToStations!=NULL)//заделили сме памет
{ stations = ptrToStations;
ptrToStations [count-1]=count;}
for(i=0;i<count;i++)
printf("%d",stations[i]);
printf("\n");
int x=3;
//преместваме елементите с един назад
for(i=x;i<count;i++)
ptrToStations[i-1]=ptrToStations[i];
//премахване на 8 елемент
ptrToStations=(int*)realloc(stations,--count*sizeof(int));
if(ptrToStations!=NULL)//заделили сме памет
stations = ptrToStations;
for(i=0;i<count;i++)
printf("%d",stations[i]);
printf("\n");
free (ptrToStations);
free (stations);
return 0;
}
Код комментарии должны быть на английском языке –