malloc函数
malloc是memory(内存) allocate(分配)的缩写
int*p=(int *)malloc(4)
- 要是用malloc函数,需要添加malloc.h这个头文件。即#include<malloc.h>
- malloc函数只有一个形参,而且形参是整数类型
- malloc函数只能返回第一个字节的地址
- 4表示请求系统为本程序分配4的字节
- 共分配了8个字节,P变量占4个字节,P所指向的内存也占4个字节
- P本身所占的内存是静态分布的,P所指向的内存是动态分配的
free(p)表示把P指向的内容释放掉。
动态内存和静态内存的比较
- 静态内存是由系统自动分配,由系统自动释放
- 静态内存是在栈分配的
动态内存是由程序员手动分配,手动释放。
多级指针
- 可以跨行使用内存
- 如果p是int*型,则&p是int**
静态函数不能跨函数使用,不能在函数终止后继续使用。
动态函数可以跨函数使用(需要手动设置内存)