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: