| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 579 人关注过本帖
标题:内存存放住处基本方式
只看楼主 加入收藏
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
快速回复:内存存放住处基本方式
数据加载中...
 
   



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

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