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\n", 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

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM