私はこれが機能する理由を知っています:
#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\n", *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\n", *number);
return 0;
}
なぜ両方が同等ではないのですか?