定义车的结构体信息:品牌,单价、颜色,
1,定义函数实现结构体指针指向堆区空间
2.定义函数,实现结构体指针的输入
3.定义函数,实现结构体指针的输出
4.定义函数,释放堆区空间
test.c
#include "head.h"
car_t create(int n)
{
car_t s1=(car_t )malloc(sizeof(car_d)*n);
if(s1==NULL)
return NULL;
return s1;
}
void input(car_t p,int n)
{
for(int i=0;i<n;i++)
{
scanf("%s",(p+i)->name);
scanf("%f",&(p+i)->money);
scanf(" %c",&(p+i)->colour);
}
}
void output(car_t p,int n)
{
printf("车名\t单价\t颜色\n");
for(int i=0;i<n;i++)
{
printf("%s\t%.2f\t%c\n",(p+i)->name,(p+i)->money,(p+i)->colour);
}
}
car_t free_speace(car_t p)
{
if(p==NULL)
{
printf("p is NULL\n");
return NULL;
}
free(p);
p=NULL;
return p;
}
head.h
#ifndef __HEAD_H__
#define __HEAD_H__
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct car
{
char name[10];
float money;
char colour;
}*car_t,car_d;
car_t create(int n);
void input(car_t p,int n);
void output(car_t p,int n);
car_t free_speace(car_t p);
#endif
main.c
#include "head.h"
int main(int argc, const char *argv[])
{
int n=0;
printf("输入n的值:\n");
scanf("%d",&n);
car_t p=create(n);
printf("请输入车名、单价、颜色:\n");
input(p,n);
output(p,n);
p=free_speace(p);
return 0;
}