我们知道,<代码>免费(功能>知道,通过使用在小型点子站后面储存的固定惯性分类值,多少记忆要从小型记忆中解放出来。 因此,我尝试了这一法典,并有两个疑问:
如果I
malloc(
20 bytes, 然后在减幅点上打印整数值,则显示25个 by。 如果Imalloc(
40 bytes,然后印刷价值,那么我就拿到了49tes!如果我试图超越和印刷我的小面积之后的数值,那么每当我获得一个大的惯性价值,储存在最差的记忆之后。 这一价值是什么? 它是特别的吗?
请作任何解释。
int main()
{
int i;
int *ptr, *pr;
ptr = (int *)malloc(20);
pr = ptr;
printf("value of ptr is %p", ptr);
for(i = 0; i < 5; i++) {
ptr[i] = i + 1;
}
printf("now the values in malloc d memory is
");
for(i = 0; i < 5; i++) {
printf("%d
", ptr[i]);
}
printf("value of ptr is %p
", ptr);
pr--;
for(i = 0; i < 20; i++) {
printf("value of pr at address %p is %d
", pr, *pr);
pr++;
}
return 0;
}