So if I have dinamically reserved memory for an array, in what adress do I have to make free of the array? Imagine if I did the following:
int *a = (int*)malloc(sizeof(int)*5);
// so now I have the following adress aviable: a, a+1, a+2, a+3 and a+4.
//in what adress should I make the free? What would happen if I make a free in a random adress like a+2?
free(a+2);