Pointer

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> struct rectangle { int height; int width; }; int main(void) { struct rectangle rec_a; struct rectangle *rec_b; struct rectangle *rec_c; int address; void* pointer; //another example worth looking into int a = 50; int *p = &a; int *pp = (int *)&p; rec_a.height = 10; rec_a.width = 20; //point to rec_a rec_b = &rec_a; //point to rec_b pointer = rec_b; printf("rec_a(0x%x), rec_b(0x%x), pointer(0x%x)\n", &rec_a, rec_b, pointer); printf("rec_a width(%d) height(%d)\n", rec_a.width, rec_a.height); printf("rec_b width(%d) height(%d)\n", rec_b->width, rec_b->height); printf("pointer width(%d) height(%d)\n", ((struct rectangle *)pointer)->width, ((struct rectangle *)pointer)->height); address = rec_b; printf("address(0x%x)\n", address); //a memory stores the address of rec_a rec_c = (struct rectangle *)address; printf("rec_c(0x%x)\n", rec_c); //segmentation fault // printf("rec_c width(%d) height(%d)\n", rec_c->width, rec_c->height); //another sample worth look into printf ("%d", *((int *)(*pp))); return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines