#include <stdio.h> #include <unistd.h> #include <stdlib.h> int global=1024; int global2; void g(int *pi) { printf(">>>> Adresse %p Valeur %d\n",pi,*pi); *pi = 2345; } void f(int param) { int local; printf("Variable locale %p\n",&local); g(&local); printf("Variable locale %p\n",¶m); g(¶m); } int main(int argc,char *argv[]) { void (*pf)(int); pf = f; printf("Pointeur sur fonction %p\n",pf); // g((int *)pf); printf("Variable globale %p\n",&global); g(&global); printf("Variable globale %p\n",&global2); g(&global2); int *p = malloc(sizeof(int)); int *p2 = malloc(sizeof(int)); printf("Allocation dynamique %p\n",p); g(p); printf("Allocation dynamique %p\n",p2); g(p2); f(3); free(p); free(p2); p = (int *)0xFFFFFFFFFFFFFF00; *p = 8888; exit(0); }