calloc函数使用中的一个指针问题,请高手前来指教。《The C programming language》

2025-02-23 12:18:45
推荐回答(2个)
回答1:

试着说下

这个程序主要是实现空间的申请与释放 ALLOCSIZE也就指整块空间的大小了

1. 空闲位置的判断
allocbuf+ALLOCSIZE-allocp表示空间大小还剩多少,如果>n说明这次申请空间大小为n是可以的,否则剩余空间大小不足以分配n,返回失败

2.函数
对于函数的实现是以压栈的方式处理的,比如 main函数调用a函数,a函数调用b函数,程序的实现是

main函数运行至a,会将CPU寄存器等值压入栈,再调a函数运行,a函数运行至b,又会将当前寄存器等值压栈,运行b,b运行完后出栈,将数据恢复到a函数调b函数的那一刻,然后运行结束,再次出栈,恢复数据到main函数调a的那一刻,最后结束.

回答2:

我也想知道啊。。。大侠们,帮个忙吧,别只浏览不回答,谢谢啦