使用c语言,写一个用于分配内存的函数,并打印出函数名和行数
时间: 2024-10-10 07:06:09 浏览: 39
在C语言中,我们可以使用`malloc()`函数动态地分配内存。这个函数属于头文件`stdlib.h`,它会返回一块指定大小的内存块,如果分配成功则返回指向该内存的指针,如果失败则返回NULL。
下面是一个简单的例子,定义了一个名为`allocate_memory`的函数,用于分配内存并打印函数名称和行数:
```c
#include <stdio.h>
#include <stdlib.h>
void allocate_memory(size_t size) {
// 检查malloc是否成功
void* ptr = malloc(size);
if (ptr == NULL) {
printf("Error allocating memory at line %d: Not enough memory.\n", __LINE__);
return;
}
// 打印函数名和当前行数
printf("Function: allocate_memory\nLine: %d - Allocated memory of size %zu bytes.\n", __LINE__, size);
// 此处可以进一步处理所分配的内存
}
int main() {
allocate_memory(100); // 测试分配100字节的内存
return 0;
}
```
在这个函数中,`__LINE__`是一个预处理器宏,表示当前位置的行号。当调用`malloc()`失败时,我们会打印错误信息包括当前行号。
阅读全文