字符指针动态分配内存报类型转换错误?

[复制链接]
查看11 | 回复4 | 2010-7-28 16:06:29 | 显示全部楼层 |阅读模式
在LINUX下做C/C++开发。代码如下:
#define MAXANSWERSIZE 512
char *answerstring;
answerstring = malloc(MAXANSWERSIZE);(此行报错)
求高手指教如何转换类型!

回复

使用道具 举报

千问 | 2010-7-28 16:06:29 | 显示全部楼层
answerstring = (char*)malloc(MAXANSWERSIZE);要理解为什么是这样写malloc为一个函数,该函数为数组动态分配一个堆内存。但是分配的对内存不返回又有什么用呢?我数组并不知道它的位置啊。所以就要借助一个指针来指向这个位置。因为你定义的数组为char型。所以才有answerstring=(char *)malloc(512);
回复

使用道具 举报

千问 | 2010-7-28 16:06:29 | 显示全部楼层
answerstring = (char*)malloc(MAXANSWERSIZE);这样就行了,需要指明类型
回复

使用道具 举报

千问 | 2010-7-28 16:06:29 | 显示全部楼层
answerstring = (char*)malloc(MAXANSWERSIZE);
回复

使用道具 举报

千问 | 2010-7-28 16:06:29 | 显示全部楼层
answerstring = (char *)malloc(MAXANSWERSIZE);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行