我正在学习链接列表,在为结构分配内存时,我已经看到了两种方法。经过测试,两者都能正常工作,我想知道第一个选项的实际作用。这是代码:
typedef struct sllist
{
int data;
struct sllist *next;
} node;
node* create(int data, node* next)
{
node* new_node = (node*)malloc(sizeof(node));
if(new_node == NULL )
{
printf("Error creating a new node\n");
exit(0);
}
new_node->data = data;
new_node->next = next;
return new_node;
}
在这一行:
node* new_node = (node*)malloc(sizeof(node));
malloc前面的(node *)有什么用? 这不是一回事吗?
node* new_node = malloc(sizeof(node));