Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #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");
- //increase
- tmpArr = realloc(arr,12*sizeof arr[0]);
- if(!tmpArr)
- {
- printf("memory reallocation error.\n");
- free(arr);
- return 1;
- }
- arr = tmpArr;
- arr[10]=10;
- arr[11]=11;
- for(i=0; i<12; ++i) printf("%d ",arr[i]);
- printf("\n");
- //shrink
- 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
- 0 1 2 3 4 5 6 7 8 9 10 11
- 0 1 2 3 4 5 6 7
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement