#include int main() { int i, j, *p, *q; printf("Assigning constant to a pointer\n"); p = 30564378; // warning, may result in segmentation fault printf("%u\n", p); //printf("%d\n", (*p)); // may result in segmentation fault printf("Assigning NULL to a pointer\n"); p = NULL; printf("%u\n", p); //printf("%d\n", (*p)); // error printf("Printing a pointer\n"); p = &i; printf("%u\n", p); printf("Incrementing a pointer\n"); p++; printf("%u\t%u\n", p, (p - 3)); printf("Printing a pointer\n"); q = &j; printf("%u\n", q); //p = p * 2; // error //q = q / p; // error printf("Comparing two pointers\n"); printf("%d\t%d\n", (p < q), (p > q)); printf("Assigning address to pointers\n"); p = &i; *p = 3; q = &j; *q = 9; printf("%u\t%u\t%d\t%d\t%d\t%d\n", p, q, (*p), (*q), i, j); printf("Assigning a pointer to another pointer\n"); p = q; printf("%u\t%u\t%d\t%d\n", p, q, (*p), (*q)); *p = 4; printf("%u\t%u\t%d\t%d\n", p, q, (*p), (*q)); printf("Subtracting a pointer from another pointer\n"); p = q + 3; printf("%u\t%u\t%d\t%d\n", p, q, (p - q), (q - p)); printf("Incrementing the content of a pointer\n"); printf("%d\t%d\t%d\n", (*p), (*(p + 1)), (*p + 1)); }