发布网友 发布时间:2022-04-21 17:47
共3个回答
热心网友 时间:2023-08-18 01:25
typedef struct student *stu; //定义struct student *为stu。以后可以使用stu表示结构体指针类型。
y = (stu)malloc(sizeof(stu)); //
首先,这里的y应该是结构体指针,定义如struct student *y; 或者直接stu y;(因为上面的定义)
其次,这个定义不对,应该是y = (stu)malloc(sizeof(struct student)); 定义结构体指针指向一个结构体大小的空间。而不是指向结构体指针大小的空间。
完整的代码是:
#include <stdio.h>热心网友 时间:2023-08-18 01:25
typedef struct student *stu的含义,定义stu为指向结构体student的指针;
所以y = (stu)malloc(sizeof(stu));是指向一个通过动态内存分配而获得student结构体变量的指针。
y->score 取出变量的score成员
热心网友 时间:2023-08-18 01:26
C语言中结构体名字要和struct合用才有效。
即 struct student,可以看做是一个整体,表示一种结构体类型。
typedef struct student *stu;
意思就是stu 等同于struct student*
即stu y;
=>struct student *y等价
y是指针,理由你自己也说了。