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 | #include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <assert.h>
int main(int argc, char* argv[]) {
int array[] = { 7, 8, 9, 10 };
printf("array[0] == %d\n", array[0]);
printf("*array == %d\n", *array);
int* a_array0 = &(array[0]);
printf("*a_array0 == %d\n", *a_array0);
printf("a_array0[0] == %d\n", a_array0[0]);
// Add to an address
int* a_array1 = a_array0 + 1;
printf("a_array0[1] == %d\n", a_array0[1]);
printf("*a_array1 == %d\n", *a_array1);
// When we add to an address, we add in increments of the size of the target type.
// Since the target type of a_array1 is int, then we add in increments of 4 bytes.
int* a_array2 = a_array0 + 2;
printf("a_array0[2] == %d\n", a_array0[2]);
printf("*a_array2 == %d\n", *a_array2);
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.