A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 白0702 中级黑马   /  2015-6-9 22:26  /  879 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char * argv[])
{
        int i=0;
        int *p=(int*)malloc(4*sizeof(int));
        *p = 1;
        *(p+1) = 10;
        *(p+2) = 100;
        *(p+3) = 1000;
        for(i=0;i<4;i++)
        {
                printf("%d\n",*(p+i));
        }
        free(p);
        printf("%d\n",*p);
        return 0;
}
这个函数最后一句打印的结果为什么不是1呢,虽然内存释放了,但指针的地址还是存在的呢,求解。

1 个回复

正序浏览
楼主厉害,围观学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马