【发布时间】:2020-07-12 12:58:49
【问题描述】:
#include <stdio.h>
int main() {
int a = 5, *p, **q, b;
p = &a;
q = p;
b = *q;
printf("%d", b);
}
我想找出这些分配在内存级别是如何出错的。假设a的地址是100。 p = &a 是一个正确的分配。然后p 将指向地址100。我对q = p 和b = *q 的陈述感到困惑。他们怎么错了?
【问题讨论】:
-
q应该是q = &p而不是q = p和b应该是b = **q而不是b = *q。