#include <stdio.h>
#include <stdlib.h>
#define example_two (*donttrythisathome)
int main(void) {
unsigned char *tmp
= calloc(100 * 2 * sizeof (float), 1);
float example_two[100][2] = tmp; // or you could use (void*)0xDEADBEEF
example_two[42][0] = example_two[42][1] = -0.42;
printf("2 * -0.42 = %f\n", example_two
[42][0] + example_two
[42][1]); printf("sizeof (float): %d\n", sizeof (float)); printf("sizeof example_two: %d\n", (int)sizeof example_two
); printf("sizeof example_two[0]: %d\n", (int)sizeof example_two
[0]); printf("sizeof example_two[0][0]: %d\n", (int)sizeof example_two
[0][0]);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCiNkZWZpbmUgZXhhbXBsZV90d28gKCpkb250dHJ5dGhpc2F0aG9tZSkKCmludCBtYWluKHZvaWQpIHsKICAgIHVuc2lnbmVkIGNoYXIgKnRtcCA9IGNhbGxvYygxMDAgKiAyICogc2l6ZW9mIChmbG9hdCksIDEpOwoKCWZsb2F0IGV4YW1wbGVfdHdvWzEwMF1bMl0gPSB0bXA7IC8vIG9yIHlvdSBjb3VsZCB1c2UgKHZvaWQqKTB4REVBREJFRUYKICAgIGV4YW1wbGVfdHdvWzQyXVswXSA9IGV4YW1wbGVfdHdvWzQyXVsxXSA9IC0wLjQyOwogICAgcHJpbnRmKCIyICogLTAuNDIgPSAlZlxuIiwgZXhhbXBsZV90d29bNDJdWzBdICsgZXhhbXBsZV90d29bNDJdWzFdKTsKICAgIHByaW50Zigic2l6ZW9mIChmbG9hdCk6ICVkXG4iLCBzaXplb2YgKGZsb2F0KSk7CiAgICBwcmludGYoInNpemVvZiBleGFtcGxlX3R3bzogJWRcbiIsIChpbnQpc2l6ZW9mIGV4YW1wbGVfdHdvKTsKICAgIHByaW50Zigic2l6ZW9mIGV4YW1wbGVfdHdvWzBdOiAlZFxuIiwgKGludClzaXplb2YgZXhhbXBsZV90d29bMF0pOwogICAgcHJpbnRmKCJzaXplb2YgZXhhbXBsZV90d29bMF1bMF06ICVkXG4iLCAoaW50KXNpemVvZiBleGFtcGxlX3R3b1swXVswXSk7CgogICAgZnJlZSh0bXApOwoJcmV0dXJuIDA7Cn0K