阿洛卡牌手表

来自RAD Studio
跳转到:航行搜索

转到malloc.h索引


注:此功能仅适用于经典bcc32编译器,而不适用于现代Clang增强型编译器。

标题文件

马洛克。小时

原型

空隙 *阿洛卡牌手表(尺寸_t 大小);

描述

分配临时堆栈空间。

alloca在堆栈上分配大小字节;当调用函数退出时,分配的空间会自动释放。

不鼓励使用alloca。尝试-C++程序块中,不应使用alloca函数。如果抛出异常,alloca放在堆栈上的任何值都将被破坏。

返回值

如果有足够的堆栈空间可用,alloca将返回一个指向分配的堆栈区域的指针。否则,返回NULL。

便携性

POSIX公司 ANSI C标准 ANSI C标准++ Win32(Win32) Win64(Win64) macOS操作系统
阿洛卡牌手表 +

例子

#包括<malloc.h>
#包括<stdio.h>
#包括<stdlib.h>

空隙 测试(整数 ) {
    烧焦 *新闻堆栈;
    整数 伦恩 = ;
    烧焦 笨蛋[1];
    笨蛋[0] = 0; /*强制良好的堆栈帧*/
    打印(“调用分配前的SP(0x%X)=0x%X\n个" 伦恩 _SP(标准普尔));
    新闻钉 = (烧焦 *) 阿洛卡牌手表(伦恩);
    打印(“调用alloca后的SP=0x%X\n个" _SP(标准普尔));
    如果 (新闻堆栈)
        打印(“Alloca(0x%X)返回%p\n个" 伦恩 新闻堆栈);
    其他的
        打印(“Alloca(0x%X)失败\n个" 伦恩);
}

空隙 主要的() {
    测试(256);
    测试(16384);
}