#include <stdio.h>
int main(void) {
// your code goes here
int numbers[] = {123,0,0};
// Apparently &array returns pointer to first member
int* first_elm_ptr = &numbers;
// So derreferencing address to array reference is same
// as dereferencing array itself
if(*first_elm_ptr == *numbers)
printf("%d == %d\n", *first_elm_ptr
, *numbers
); else
printf("%d != %d\n", *first_elm_ptr
, *numbers
); // if the first was true than this one also must be true
if(&numbers == numbers) {
printf("Pointer to array is still the same array!\n"); }
else {
printf("Pointer to array is not the same thing as array.\n"); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglpbnQgbnVtYmVyc1tdID0gezEyMywwLDB9OwoJLy8gQXBwYXJlbnRseSAmYXJyYXkgcmV0dXJucyBwb2ludGVyIHRvIGZpcnN0IG1lbWJlcgoJaW50KiBmaXJzdF9lbG1fcHRyID0gJm51bWJlcnM7CgoJLy8gU28gZGVycmVmZXJlbmNpbmcgYWRkcmVzcyB0byBhcnJheSByZWZlcmVuY2UgaXMgc2FtZSAKCS8vIGFzIGRlcmVmZXJlbmNpbmcgYXJyYXkgaXRzZWxmCglpZigqZmlyc3RfZWxtX3B0ciA9PSAqbnVtYmVycykKICAgIAlwcmludGYoIiVkID09ICVkXG4iLCAqZmlyc3RfZWxtX3B0ciwgKm51bWJlcnMpOwogICAgZWxzZQoJICAgIHByaW50ZigiJWQgIT0gJWRcbiIsICpmaXJzdF9lbG1fcHRyLCAqbnVtYmVycyk7CgkvLyBpZiB0aGUgZmlyc3Qgd2FzIHRydWUgdGhhbiB0aGlzIG9uZSBhbHNvIG11c3QgYmUgdHJ1ZQoJaWYoJm51bWJlcnMgPT0gbnVtYmVycykgewoJCXByaW50ZigiUG9pbnRlciB0byBhcnJheSBpcyBzdGlsbCB0aGUgc2FtZSBhcnJheSFcbiIpOwoJfQoJZWxzZSB7CgkJcHJpbnRmKCJQb2ludGVyIHRvIGFycmF5IGlzIG5vdCB0aGUgc2FtZSB0aGluZyBhcyBhcnJheS5cbiIpOwoJfQoJcmV0dXJuIDA7Cn0K