0
Şu anda eğitim çalışıyorum ama bana gönderilen dosya doğru değil. Denedim birkaç şey düzeltmek ama başlıyor ve hemen sonra eziyor. Dinamik hafıza öğreniyorum, o yüzden bilmiyorum. İşte realloc() için kod;Dinamik bellekte yeni. 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;
}
Kod yorumları gibi görünmelidir –