笔记–alloca函数
来源:互联网 发布:计算器在windows 编辑:程序博客网 时间:2024/06/17 05:23
《c专家编程》笔记–alloca函数
发表回复
alloca()函数用来在栈中分配size个字节的内存空间,因此函数返回时会自动释放掉空间。alloca函数定义及库头文件如下:
/* Allocate a block that will be freed when the calling function exits. */
extern void *alloca (size_t __size) __THROW; //从栈中申请空间
返回值:若分配成功返回指针,失败则返回NULL。
它与malloc()函数的区别主要在于:
alloca是向栈申请内存,无需释放,malloc申请的内存位于堆中,最终需要函数free来释放。
int main(){int *p = (int *)alloca(sizeof(int)*10);free(p);//此时不能用free()去释放,会导致错误return 0;}
malloc函数并没有初始化申请的内存空间,因此调用malloc()函数之后,还需调用函数memset初始化这部分内存空间;alloca则将初始化这部分内存空间为0。
int *p = (int *)alloca(sizeof(int)*10);
free(p);//此时不能用free()去释放,会导致错误
return 0;
}
0 0
- 笔记–alloca函数
- 《c专家编程》笔记--alloca函数
- alloca 函数
- 堆,栈,函数,alloca
- 关于alloca()函数
- alloca
- 内存分配函数——alloca()
- calloc(), malloc(), realloc(), alloca()函数的区别
- 栈的动态分配 ALLOCA函数使用
- malloc,calloc,alloca和free函数
- 关于 C99, VLA, alloca的笔记
- malloc、calloc、realloc、alloca几个内存分配函数的区别
- 动态内存申请函数选择(realloc、malloc 、alloca、 calloc)
- 动态内存申请函数选择(realloc、malloc 、alloca、 calloc)
- c语言内存函数malloc、calloc、realloc、alloca比较
- malloc、calloc、realloc、new以及alloca函数区别
- c语言内存函数malloc、calloc、realloc、alloca比较
- alloca.c
- 检测android机器是否有GPS模块
- jQuery选择器$("div span:last-chil/$("*") /$("#main > *")/$("tr:even")/$("td:eq(2)")/$("div:has(p)")(十五)
- onCreate中的savedInstanceState
- 文件IO概述
- 关于Unity 2d动画实现
- 笔记–alloca函数
- 金蝉平方数(回溯+全排列+String字符串API)
- Errors running builder '******' on project 等类似错误
- 良性代码,恶意利用:浅谈 Return-Oriented 攻击
- 消息系统Kafka介绍
- 反转单链表
- alloca() 是什么?为什么不提倡使用它?
- 【android】shape的使用
- NSFileManager