#include <stdio.h>
#include <stdlib.h>
int main(void) {
int* vec
= (int*)malloc(sizeof(int) * 3); vec[0] = 1;
vec[1] = 2;
vec[2] = 3;
printf("%x %x(%d)\n", vec
, &vec
[0], vec
[0]);
int* ptr = &vec[0];
printf("%x %x(%d) %x(%d)\n", vec
, &vec
[0], vec
[0], ptr
, *ptr
);
vec
= (int*)realloc(vec
, sizeof(int) * 4); // weird shit here!!! vec[3] = 4;
printf("%x %x(%d) %x(%d)\n", vec
, &vec
[0], vec
[0], ptr
, *ptr
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBtYWluKHZvaWQpIHsKCWludCogdmVjID0gKGludCopbWFsbG9jKHNpemVvZihpbnQpICogMyk7Cgl2ZWNbMF0gPSAxOwoJdmVjWzFdID0gMjsKCXZlY1syXSA9IDM7CgkKCXByaW50ZigiJXggJXgoJWQpXG4iLCB2ZWMsICZ2ZWNbMF0sIHZlY1swXSk7CgkKCWludCogcHRyID0gJnZlY1swXTsKCQogICAgcHJpbnRmKCIleCAleCglZCkgJXgoJWQpXG4iLCB2ZWMsICZ2ZWNbMF0sIHZlY1swXSwgcHRyLCAqcHRyKTsKICAgIAogICAgdmVjID0gKGludCopcmVhbGxvYyh2ZWMsIHNpemVvZihpbnQpICogNCk7IC8vIHdlaXJkIHNoaXQgaGVyZSEhIQogICAgdmVjWzNdID0gNDsKICAgIAogICAgcHJpbnRmKCIleCAleCglZCkgJXgoJWQpXG4iLCB2ZWMsICZ2ZWNbMF0sIHZlY1swXSwgcHRyLCAqcHRyKTsKICAgIAogICAgZnJlZSh2ZWMpOwogICAgCglyZXR1cm4gMDsKfQo=