开发者社区> 问答> 正文

为什么不能free,*p='a',不是把值赋给p所指向的地址吗??报错

#include <afx.h>
#include <stdlib.h>
void main()
{
char *pc;
pc=(char *)malloc(sizeof(char)*100+1);
*pc='a';
free(pc);//一到这儿就报错,为什么?
pc=NULL;
}

展开
收起
爱吃鱼的程序员 2020-06-22 21:28:54 359 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    报什么错?我这里用GCC没有报错哦。。回复<aclass='referer'target='_blank'>@hanxiaodong:具体报什么错?我电脑的问题。#include<afx.h>#include<stdlib.h>voidmain(){charpc;pc=(char)malloc(sizeof(char)*100+1);free(pc);//一到这儿就报错,为什么?pc=NULL;}现在,这样都报错。更改一下头文件,在Linux环境下测试没有问题。内存损坏?

    2020-06-22 21:29:10
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载