#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
int main(void) {
int len = 8;
uint16_t *a
= calloc(len
, sizeof(uint16_t));
a[0] = 1;
a[1] = 2;
a[2] = 3;
uint32_t *b
= realloc(a
, sizeof(uint32_t) * len
);
// We have used 3 slots.
int i = 3;
while (i--) {
b[i] = ((uint16_t *) b)[i];
}
printf("0: %d\n", b
[0]); // 1 ? printf("1: %d\n", b
[1]); // 2 ? printf("2: %d\n", b
[2]); // 3 ?
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKaW50IG1haW4odm9pZCkgewoJaW50IGxlbiA9IDg7CgkKCXVpbnQxNl90ICphID0gY2FsbG9jKGxlbiwgc2l6ZW9mKHVpbnQxNl90KSk7CiAgICAKICAgIGFbMF0gPSAxOwogICAgYVsxXSA9IDI7CiAgICBhWzJdID0gMzsKICAgIAogICAgdWludDMyX3QgKmIgPSByZWFsbG9jKGEsIHNpemVvZih1aW50MzJfdCkgKiBsZW4pOwoKICAgIC8vIFdlIGhhdmUgdXNlZCAzIHNsb3RzLgogICAgaW50IGkgPSAzOwogICAgCiAgICB3aGlsZSAoaS0tKSB7CiAgICAJYltpXSA9ICgodWludDE2X3QgKikgYilbaV07CiAgICB9CgogICAgcHJpbnRmKCIwOiAlZFxuIiwgYlswXSk7IC8vIDEgPwogICAgcHJpbnRmKCIxOiAlZFxuIiwgYlsxXSk7IC8vIDIgPwogICAgcHJpbnRmKCIyOiAlZFxuIiwgYlsyXSk7IC8vIDMgPwoKCXJldHVybiAwOwp9Cg==