/* PointerArrays.c (c) Kari Laitinen http://www.naturalprogramming.com/ 2013-11-25 File created. 2013-11-25 Last modification. */ #include int main() { int first_array[] = { 0x11, 0x22, 0x33, 0x44 } ; int second_array[] = { 0x666, 0x777, 0x888, 0x999 } ; int* memory_pointer = second_array - 1 ; printf( "\n The address of first_array is: %X" "\n The address of second_array is: %X" "\n The address of memory_pointer is: %X" "\n\n And here are 10 integers in memory:\n ", first_array, second_array, &memory_pointer ) ; int memory_position_counter ; for ( memory_position_counter = 0 ; memory_position_counter < 10 ; memory_position_counter ++ ) { printf( "\n Address %X contains %X", memory_pointer, *memory_pointer ) ; memory_pointer ++ ; } printf( "\n\n Address %X contains %X\n", &memory_pointer, *( &memory_pointer ) ) ; } /* Here is a sample run of this program: The address of first_array is: 22FF60 The address of second_array is: 22FF50 The address of memory_pointer is: 22FF4C And here are 10 integers in memory: Address 22FF4C contains 22FF4C Address 22FF50 contains 666 Address 22FF54 contains 777 Address 22FF58 contains 888 Address 22FF5C contains 999 Address 22FF60 contains 11 Address 22FF64 contains 22 Address 22FF68 contains 33 Address 22FF6C contains 44 Address 22FF70 contains 3 Address 22FF4C contains 22FF74 */