急!!!急!!!真的,C的问题,谢谢各位了,要快

来源:百度知道 编辑:UC知道 时间:2024/06/27 05:26:43
写一个宏,配合__FILE__, __LINE__, 使得使用malloc_dbg 像malloc 一样方便。
这个宏可以改成inline函数吗?试试看

p指向的内存是malloc函数族分配的,怎样知道它的大小?举例说明此法在实际编程中的意义。
求达人帮个忙了啊

比方说p是一个int类型的指针,malloc通过sizeof函数获得指针内容的大小。如:
int *p;
p= (int*)malloc(sizeof(int));

/*这样就可以使得使用malloc_dbg 像malloc 一样方便*/
#define malloc_dbg malloc /*宏替换*/

malloc
原型:extern void *malloc(unsigned int num_bytes);

用法:#include <malloc.h>

功能:分配长度为num_bytes字节的内存块

说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。

malloc示例代码:
void GetMemory2(char **p, int num)
{
*p = (char *)malloc(sizeof(char) * num);
}
void Test2(void)
{
char *str = NULL;
GetMemory2(&str, 100); // 注意参数是 &str,而不是str
strcpy(str, "hello");
cout<< str << endl;
free(str);
}