int j = 10;
void f() {
int *i;
i = &j;
*i = 7;
i = (int *) malloc(sizeof(int));
*i = j;
j = j + 5;
printf("%d %d", *i, j);
}
记下函数f将输出的两个值
我无法完全理解指针是如何工作的
所以这是我对代码的解释
int j = 10;
J被分配到内存中的值10并且具有地址,例如200
int *i;
声明指针
i = &j;
我的价值现在是200
*i = 7
* i的值是7
i = (int *) malloc(sizeof(int))
不太明白上面的代码在做什么,但我认为它将变量i赋给数组中整数的大小?
*i = j
* i指向j的地址或j的值
j = j + 5
j的值(我不知道是什么)+ 5
谢谢