From the C programming language - second edition (K & R 2):
5.2 Function pointers and arguments
C , .
...
.
, :
void fn1(int x) {
x = 5;
}
void fn2(int *x) {
*x = 5;
}
int main(void) {
int a;
fn1(a);
fn2(&a);
return 0;
}
:
void fn1(element *x) {
x = malloc(sizeof(element));
}
void fn2(element **x) {
*x = malloc(sizeof(element));
}
int main(void) {
element *a;
fn1(a);
fn2(&a);
return 0;
}
, int , int, .