Cannot initialize a variable of type 'Stu *' with an rvalue of type 'void *'

code:

Stu* pStu = malloc(sizeof(Stu));

改为
Stu* pStu = (Stu*)malloc(sizeof(Stu));

code

#include <stdio.h>
#include <stdlib.h>

typedef struct {
    int a;
    int b;
}Stu;

Stu* getStu(int x, int y)
{
    Stu* pStu = (Stu*)malloc(sizeof(Stu));
    pStu->a = x;
    pStu->b = y;
    return pStu;
}

int main()
{
    int x = 2, y = 3;
    Stu *pStu = getStu(x, y);
    printf("%d %d
", pStu->a, pStu->b);
    free(pStu);
    return 0;
}

输出

2 3
Program ended with exit code: 0


https://blog.csdn.net/weixin_34221332/article/details/86981433

原文地址:https://www.cnblogs.com/sea-stream/p/11129947.html