在下面的例子中,在赋值时取消引用不会显示malloc的任何错误,怎么回事?为什么解除引用与malloc的行为不同?
#include <stdio.h>
#include <stdlib.h>
int main() {
int *p;
printf("%d", &p);
int a = 10;
*p = a;
printf("%d", *p);
free(p);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main() {
int *p = (int*)malloc(sizeof(int));
printf("%d", &p);
int a = 10;
*p = a;
printf("%d", *p);
free(p);
return 0;
}
请帮助我真的很困惑在指针 – harry
请格式化代码引导与4个空格的行。还要非常小心地正确格式化代码,以便易于遵循。我在编辑中对此进行了通过,但是您可以仔细检查一下,看看我是否错过了任何内容。 – jaydel
请不要大喊标题 –