为什么malloc会报错
node是一个结构体
node* pnew = malloc(sizeof(node));
在malloc前面加上强制类型转换
malloc()的问题:
#include
#include
void getmemory(char *p)
{
p=(char *) malloc(100);
strcpy(p,"hello world");
}
int main( )
{
char *str=NULL;
getmemory(str);......
答案就在这里:malloc()问题
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
malloc方法返回值是null,所以要强制类型转换为相应的指针类型
改成node* pnew = (node*)malloc(sizeof(node));
void *malloc(unsigned int num_bytes);
malloc返回的类型是void *
你必须强制转换成你需要的类型才行
node* pnew = (node *)malloc(sizeof(node));
强制类型转换~~~~~~
malloc()函数返回的是void型的指针,需要强制转换为对应指针类型,
你这里就要这么改:
node* pnew = (node*)malloc(sizeof(node));