商品信息的动态存放

84 阅读1分钟

1 题目

功能:商品信息的动态存放

描述:

创建一个商品的结构体

动态分配一块内存区域,存放一个商品信息

2 思路

  • 定义一个商品信息的结构体类型,同时声明一个结构体类型的指针COMM
  • 调用 malloc() 函数分配空间,地址存放在指针变量 commodity 中
  • 利用指针变量访问该地址空间中的每个成员数据,并为成员赋值,主要要使用 "->" 去访问,例如:
COMM commodity = (struct commodity *) malloc(sizeof(struct commodity));
commodity->num = 1011;
commodity->name = "计算广告生态";
commodity->count = 10001;
commodity->price = 15000.1;

3 代码

#include <stdio.h> 
#include <stdlib.h>
​
​
/**
功能:商品信息的动态存放
描述:创建一个商品的结构体, 动态分配一块内存区域,存放一个商品信息
**/
​
​
typedef struct commodity {  // 结构体定义
  int num;                  // 编号
  char *name;               // 商品名称
  int count;                // 商品数量
  double price;             // 商品单价
}*COMM;
​
​
int main(int argc, char const *argv[]) { 
  COMM commodity = (struct commodity *) malloc(sizeof(struct commodity));
  commodity->num = 1011; 
  commodity->name = "计算广告生态";
  commodity->count = 10001;
  commodity->price = 15000.1;
  printf("编号:%d\n商品名称:%s\n商品数量:%d\n商品单价:%f\n",  
    commodity->num, commodity->name, commodity->count, commodity->price);
}

示例结果:

$ gcc ex036.c -o demo
$ ./demo
编号:1011
商品名称:计算广告生态
商品数量:10001
商品单价:15000.100000