如果 C 不支持通过引用传递变量,为什么这会起作用?
#include <stdio.h> void f(int *j) { (*j)++; } int main() { int i = 20; int *p = &i; f(p); printf("i = %d\n", i); return 0; }
$ gcc -std=c99 test.c $ a.exe i = 21
因为您将指针 值 传递给方法,然后取消引用它以获取指向的整数。