How to reduce memory allocation in C

1 Answer

0 votes
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
    int *arr = calloc(15, sizeof(int));
    if (arr == NULL) {
        return 1;
    }
    
    memset(arr, 0, sizeof(int) * 15);
    for (int i = 0; i < 15; i++) {
        printf("%02hhX ", arr[i]);
    }
    
    arr = (int *)realloc(arr, 10);
    
    printf("\n");

    memset(arr, 0, sizeof(int) * 10);
    for (int i = 0; i < 10; i++) {
        printf("%02hhX ", arr[i]);
    }
    
    free(arr);
    
    return 0;
}



/*
run:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 

*/

 



answered Dec 27, 2020 by avibootz

Related questions

...