Originariamente inviato da italian_coder
Se vogliamo essere pignoli il C non ha il passaggio di parametri per riferimento.
Supporta solo il passaggio di parametri per valore e per indirizzo (puntatore e vettore).
In realtà C supporta solo il passaggio per valore :master: Infatti viene passata una copia dell'indirizzo. Esempio:
codice:
#include <stdio.h>

void f(int *);

int main(int argc, char **argv) {
	int a = 10;
	printf("a = %d\n", a);
	f(&a);
	printf("a = %d", a);
	return 0;
}

void f(int *x) {
	int y = 20;
	x = &y;
}
Output:
codice:
a = 10
a = 10