aligned_alloc函数
概要:
#include <stdlib.h> void *aligned_alloc(size_t alignment, size_t size);
描述:
该函数给对象分配内存,其对齐方式由参数alignment指定,大小由参数size指定,其值是不确定的。参数alignment值应是实现支持的有效对齐值;否则函数调用失败,返回空指针。
分配内存的生存期从内存分配开始到内存释放结束。
如果内存被成功分配,函数返回一个指向分配内存开始位置(即最低字节地址。)的指针。如果内存不能被分配,函数返回一个空指针。
如果请求的内存大小为0,函数行为将由实现定义:函数可能返回空指针表示错误;函数也可能像非0值一样返回指针,但返回的指针不能用于访问对象。
调用free函数或者realloc函数将释放全部或者部分分配内存。
参数:
size_t alignment
该参数指定对齐方式。
size_t size
该参数指定大小。
返回值:
如果调用成功,函数返回一个指向分配内存的指针;如果失败,函数返回一个空指针。
范例:
|
|
输出:
Address allocated by malloc function: 00000000004420f8
Address allocated by aligned_alloc function: 0000000000442400
注:使用Pelles C编译。
相关内容:
calloc | 给数组分配内存并将所有位都初始化为0的函数。 |
free | 释放内存的函数。 |
malloc | 分配指定大小内存的函数。 |
realloc | 重新分配内存的函数。 |