阅读量:0
C语言中的memalign函数用于分配内存并返回一个指向分配内存的指针。
该函数的定义如下:
void *memalign(size_t alignment, size_t size);
参数说明:
- alignment:表示所分配内存的对齐方式。通常是2的幂次,且大于等于sizeof(void*)。如果不满足要求,会返回错误。
- size:表示要分配的内存大小。
返回值:如果分配成功,则返回指向新分配内存的指针;如果分配失败,则返回NULL。
使用示例:
#include <stdio.h> #include <stdlib.h> int main() { int *ptr; ptr = (int *)memalign(16, sizeof(int) * 10); if(ptr == NULL) { printf("内存分配失败\n"); return 1; } printf("内存分配成功\n"); free(ptr); return 0; }
上述示例中,使用memalign函数分配了一个大小为10个int元素大小的内存空间,并要求内存按16字节对齐。如果分配成功,则输出"内存分配成功",并最后使用free函数释放内存。
需要注意的是,使用memalign函数分配的内存,必须使用free函数进行释放,否则会导致内存泄漏。