#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct woman
{
char name[50];
int age;
};
int main(int argc, char *argv[])
{
int *pi = malloc(sizeof(int));
long *pl = malloc(sizeof(long));
double *pd = malloc(sizeof(double));
char *pc = malloc(101); // 分配101个字节,可存放100个字符的字符串
// 分配struct woman结构体大小的内存
struct woman *pst = malloc(sizeof(struct woman));
// 使用动态分配的内容
*pi = 10; printf("*pi = %d\n", *pi);
*pl = 20; printf("*pl = %ld\n", *pl);
*pd = 10.5; printf("*pd = %lf\n", *pd);
strcpy(pc, "西施"); printf("*pc = %s\n", pc);
strcpy(pst->name, "嫦娥");
pst->age = 22;
printf("name = %s, age = %d\n", pst->name, pst->age);
// 释放动态分配的内存
free(pi);
free(pl);
free(pd);
free(pc);
free(pst);
}