malloc()
1. 特点
1.malloc用于动态内存分配
2.函数原型为void malloc(unsigned int size)
3.malloc的函数返回类型为void,可以强制转换为任何其他类型指针。
4.分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。
2. 使用
2.1大小
当开辟了100个int时,某种意义上可以看作 int q[100];
int *p;
int *q;
p=(int*)malloc(100); //开辟了100个byte大小的空间。
q=(int*)malloc(100*sizeof(int)); //开辟了100个int大小的数据空间
2.2 用于指针的动态分配
int *p;
p=(int*)malloc(sizof(int));//指针变量p指向一片一个int大小的空间(即开辟了一个int大小的空间)
//malloc的函数返回类型为void*,可以强制转换为任何其他类型指针
2.3 用于结构体的动态分配
struct Node{
int * Data;//ElementType 存储元素的数组
int Top;//栈顶指针
int MaxSize;//堆栈最大容量
};
struct Node * S;
S=(Node*)malloc(sizeof(struct Node));