#include <stdio.h>
int main(void) {
int array[4] = {10, 20, 30, 40}; // Initial values in array
int* ptr = &array[3]; // Point to the fourth element's memory address
// Print out values of last two elements
printf("Third element value: %d\n", array
[2]); printf("Fourth element value: %d\n", array
[3]);
// Update values using pointer
printf("Updating values of last two elements using pointer.\n"); *ptr = 41; // Update value of fourth element
--ptr; // Move pointer to third element.
*ptr = 31; // Update value of third element
// Print out update values of last two elements
printf("Third element value: %d\n", array
[2]); printf("Fourth element value: %d\n", array
[3]);
// In this example, we didn't touch first and second elements' values of array,
// which are "10" and "20".
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CglpbnQgYXJyYXlbNF0gPSB7MTAsIDIwLCAzMCwgNDB9OwkJLy8gSW5pdGlhbCB2YWx1ZXMgaW4gYXJyYXkKCWludCogcHRyID0gJmFycmF5WzNdOwkJCQkJLy8gUG9pbnQgdG8gdGhlIGZvdXJ0aCBlbGVtZW50J3MgbWVtb3J5IGFkZHJlc3MKCgkvLyBQcmludCBvdXQgdmFsdWVzIG9mIGxhc3QgdHdvIGVsZW1lbnRzCglwcmludGYoIlRoaXJkIGVsZW1lbnQgdmFsdWU6ICVkXG4iLCBhcnJheVsyXSk7CglwcmludGYoIkZvdXJ0aCBlbGVtZW50IHZhbHVlOiAlZFxuIiwgYXJyYXlbM10pOwoJCgkvLyBVcGRhdGUgdmFsdWVzIHVzaW5nIHBvaW50ZXIKCXByaW50ZigiVXBkYXRpbmcgdmFsdWVzIG9mIGxhc3QgdHdvIGVsZW1lbnRzIHVzaW5nIHBvaW50ZXIuXG4iKTsKCSpwdHIgPSA0MTsJCS8vIFVwZGF0ZSB2YWx1ZSBvZiBmb3VydGggZWxlbWVudAoJLS1wdHI7CQkJLy8gTW92ZSBwb2ludGVyIHRvIHRoaXJkIGVsZW1lbnQuCgkqcHRyID0gMzE7CQkvLyBVcGRhdGUgdmFsdWUgb2YgdGhpcmQgZWxlbWVudAoJCgkvLyBQcmludCBvdXQgdXBkYXRlIHZhbHVlcyBvZiBsYXN0IHR3byBlbGVtZW50cwoJcHJpbnRmKCJUaGlyZCBlbGVtZW50IHZhbHVlOiAlZFxuIiwgYXJyYXlbMl0pOwoJcHJpbnRmKCJGb3VydGggZWxlbWVudCB2YWx1ZTogJWRcbiIsIGFycmF5WzNdKTsKCQoJLy8gSW4gdGhpcyBleGFtcGxlLCB3ZSBkaWRuJ3QgdG91Y2ggZmlyc3QgYW5kIHNlY29uZCBlbGVtZW50cycgdmFsdWVzIG9mIGFycmF5LAoJLy8gd2hpY2ggYXJlICIxMCIgYW5kICIyMCIuCgkKCXJldHVybiAwOwp9Cg==