gpt4 book ai didi

c - 需要帮助来理解 free() 函数在 C 中的工作原理

转载 作者:太空宇宙 更新时间:2023-11-04 06:59:41 26 4
gpt4 key购买 nike

<分区>

我一直在运行一些测试,试图了解 free() 函数的工作原理。这是我的代码,后面是一些基于我所理解的问题。

int n=0,i=0;
scanf("%d",&n);
int *A = (int*)malloc(n*sizeof(int));
for (i=0;i<n;i++)
{
A[i]=2*i;
printf("A[%d] = %d\n",i,*(A+i));

}
printf("Address of A is = %d\n",A);
free(A);
for (i=0;i<n;i++)
{
printf("%d\n",*(A+i));

}
printf("Address of A is = %d\n",A);

我不明白的是为什么在free(A)之后,A的值还是一样? free之后不应该有一些垃圾值吗?为什么 A 的地址保持不变?就内存而言,释放 A 后究竟发生了什么?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com