标题:内存存放住处基本方式
只看楼主
abcc
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2005-1-22
 问题点数:0 回复次数:0 
内存存放住处基本方式
用来在内存区新开辟一个连续的空间.此函数的返回值是一个指针,指向新开辟的起始地址.

#define NULL 0
#define ALLOCSIZE 100
char allocbuf[ALLOCSIZE];
char *allcp=allocbuf;
char *alloc(int n)
{
   if(allocp+n<=allocbuf+ALLOCSIZE)
                {allocp+=n;/*这行和下一行是多余的吗,为什么不直接返回allocp*/
                      return(allocp-n);
                 }
    else return(NULL);
}
free(char *p)  /*关于这个释放看不懂,而且条件若用数轴表示的话在一个方向上了能请老师帮我解答吗*/
{ if(p>=allocbuf&&p>allocbuf+ALLOCSIZE)
  allocp=p;
}

/*C语言两种向内存存取信息的方式,(这是全程变量和局部变量,它们包括数组和结构)是这种吗?还有二种是动态地址分配,问题1:这样理解对吗?2:我能用什么办法了解到系统提供的函数源代码?*/
搜索更多相关主题的帖子: 住处 内存 
2005-04-13 17:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-15553-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.831306 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved