内存分配方式
1. 栈内存:由系统自动分配和释放,主要用于存储局部变量、函数参数等。例如,在函数内部定义的普通变量,如 int num = 10; ,这个 num 就存放在栈上。栈的操作速度快,就像你能快速从伸手可及的地方拿到东西一样,但它的空间有限。
2. 堆内存:需要程序员手动分配和释放,使用 malloc 、 calloc 、 realloc 函数分配,用 free 函数释放。比如 int *ptr = (int *)malloc(sizeof(int)); ,通过 malloc 分配了一块内存,并用指针 ptr 指向它。堆内存空间灵活,但管理不当容易产生内存泄漏,就像借了东西不还。
3. 静态内存:用于存储全局变量和静态局部变量。程序开始时分配,结束时释放。例如 static int globalVar = 5; , globalVar 存放在静态内存区,它的生命周期贯穿整个程序运行过程。
浙公网安备 33010602011771号