回复 9楼 TonyDeng
指针最基础的知识我懂我想问一下,
printf ("---->%d\n",*(address+i)); 这样写的话是不是相当于
printf ("---->%d\n",100); 假如我第一次输入的是100

总有人比你努力,可怕的是比你牛的人比你还努力。
程序代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
int *address = (int *) malloc(sizeof(int) * 5);
printf ("The first address of the system to allocate space:%p\n",address);
for (i = 0;i < 5;i++)
{
printf ("%p---->",address+i);
scanf ("%d",address+i);
}
free (address); //调试时发现free后会把address+0处的数据清0。为什么,书上说的是释放指针变量address所指向的动态空间,我的理解是释放malloc函数向系统申请的空间,释放内存。以便下次继续申请。
for (i = 0;i < 5;i++)
{
printf ("---->%d\n",*(address+i));
}
return 0;
}
