1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <assert.h>
int main(int argc, char* argv[]) {
int numbers[] = { 10, 11, 12 };
int* a_numbers_0 = &(numbers[0]);
int numbers_0 = *a_numbers_0;
printf("*a_numbers_0 == %d\n", *a_numbers_0);
printf("numbers[0] == %d\n", numbers[0]);
int* a_numbers_1 = &(numbers[1]);
int numbers_1 = *a_numbers_1;
printf("*a_numbers_1 == %d\n", *a_numbers_1);
printf("numbers[1] == %d\n", numbers[1]);
printf("\n");
printf("*(a_numbers_0 + 1) == %d\n", *(a_numbers_0 + 1));
printf("*(a_numbers_0 + 2) == %d\n", *(a_numbers_0 + 2));
printf("a_numbers_0[0] == %d\n", a_numbers_0[0]);
// We just used a_numbers_0 (int*, i.e., address of an int) as if it were
// an int[…] (address of int).
printf("a_numbers_0[1] == %d\n", a_numbers_0[1]);
printf("a_numbers_0[2] == %d\n", a_numbers_0[2]); // Let's analyze this. <<<<<<<
return EXIT_SUCCESS;
}
/* vim: set tabstop=4 shiftwidth=4 fileencoding=utf-8 noexpandtab: */
|
© Copyright 2022 Alexander J. Quinn This content is protected and may not be shared, uploaded, or distributed.