一、调用malloc()函数必须包含 #include<stdlib.h>头文件
二、为何要使用malloc()
因为有些时候数据数量是不确定的,假如分配过多会造成空间浪费,分配过少会空间不足
三、使用
(void *)malloc(sizeof(数据类型))
以及结构体中 指针赋值的三种方式
每次用完记得free()释放内存
eg:
#include<stdio.h>
#include<stdlib.h>
struct Dog
{
int size;
int age;
int height;
};
int main()
{
struct Dog *p;
int n;
printf("请输入你要几条狗:");
scanf("%d", &n);
int size = n * sizeof(struct Dog);
p = (struct Dog*)malloc(size);
p[0].age = 5;
p->size = 10;
(*p).height=30;
printf("%d %d %d", p[0].size, p[0].age, p[0].height);
free(p);
}