#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int *arr;
int *tmpArr;
unsigned int i;
arr = malloc(10*sizeof arr[0]);
if(!arr)
{
printf("memory allocation error.\n");
return 1;
}
for(i=0; i<10; ++i)
{
arr[i] = i;
printf("%d ",arr[i]);
}
printf("\n");
memmove(arr, arr+2, 8*sizeof arr[0]);
for(i=0; i<10; ++i) printf("%d ",arr[i]);
printf("\n");
tmpArr = realloc(arr,8*sizeof arr[0]);
if(!tmpArr)
{
printf("memory reallocation error.\n");
free(arr);
return 1;
}
arr = tmpArr;
for(i=0; i<8; ++i) printf("%d ",arr[i]);
printf("\n");
free(arr);
return 0;
}
/*
output:
0 1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 8 9
2 3 4 5 6 7 8 9
*/
Comments