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