C語言中的memalign函數用于分配內存并返回一個指向分配內存的指針。
該函數的定義如下:
void *memalign(size_t alignment, size_t 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函數進行釋放,否則會導致內存泄漏。