使用结构体申请动态内存

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#define N 20 //宏定义
typedef struct student
{
   int no;
   char name[N];
   float score;
}stu;  //使用typedef更改结构体名字
stu *get_info() //定义结构体类型的指针函数
{
   stu *p;
   if((p=(stu *)malloc(sizeof(stu))) == NULL)//判断动态内存是否为空
   {
      printf("malloc failed\n");
      return NULL;
   }
   p->no = 1;
   strcpy(p->name,"Tom");
   p->score = 90;
   return p;
}
int main()
{
   stu *s;
   if((s=get_info()) == NULL)
   return 0;
   printf("student_info:%d %s %.2f\n",s->no,s->name,s->score);
   free(s); //释放内存
   s=NULL;
   return 0;  
}
 
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值