我正在为任务编写自己的函数,malloc
并free
在 C 中编写函数。我需要利用 Csbrk()
包装函数。据我了解sbrk()
,程序的数据空间增加了作为参数传递的字节数,并指向程序中断的位置。
如果我有以下代码片段:
#define BLOCK_SIZE 20
int x;
x = (int)sbrk(BLOCK_SIZE + 4);
我得到编译器错误warning: cast from pointer to integer of different size
。为什么会这样,无论如何我可以将指向的地址转换sbrk()
为一个int
?