C语言memalign函数的用法是什么

avatar
作者
筋斗云
阅读量: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函数进行释放,否则会导致内存泄漏。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!