/* File: parametr.c */ /* Time-stamp: "2001-04-02 13:55:22 calvanes" */ /* Scopo: differenza tra passaggio di parametri per valore e per indirizzo */ #include <stdio.h> void fun(int x, int *p) { x = 23; *p = 45; } int main(void) { int a, b; int *q; a = 1; b = 15; printf("prima: a = %d, b = %d\n", a, b); fun(a, &b); printf("dopo: a = %d, b = %d\n", a, b); a = 1; b = 15; q = &b; printf("prima: a = %d, b = %d, q = %p\n", a, b, q); fun(a, q); printf("dopo: a = %d, b = %d, q = %p\n", a, b, q); return 0; } /* output prima: a = 1, b = 15, q = 0xbffff820 dopo: a = 1, b = 45, q = 0xbffff820 prima: a = 1, b = 15 dopo: a = 1, b = 45 */