我知道这为什么管用:
#include <stdio.h>
void cool_number(int **number) {
int value = 42;
int *p = &value;
*number = p;
}
int main () {
int *number;
cool_number(&number);
printf("number is %d
", *number);
return 0;
}
我不明白的是,为什么会这样(在我的机器中,它印着3700
或类似的东西)。
#include <stdio.h>
void cool_number(int **number) {
int value = 42;
int *p = &value;
int **x = &p;
number = x;
}
int main () {
int *number;
cool_number(&number);
printf("number is %d
", *number);
return 0;
}
为什么两者不相等?