| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 915 人关注过本帖
标题:数组长度定义的问题
只看楼主 加入收藏
悠灵逃了...
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2008-1-11
收藏
 问题点数:0 回复次数:1 
数组长度定义的问题
//我们刚学了数据结构的顺序表,在表插入一个数据元素的算法中有一段是关于存储空间满了,增加分配的,
//就是这里我有个疑问,realloc为一个已经申请了的内存空间重新申请(更改空间大小的作用),
//那么这个重新申请的空间会不会对原来已有的造成影响呢?也就是说重新申请后的得到的新顺序表的基址还是不是
//原来未增加之前的那个基址?还是重新分配就是另开辟一段新的空间,这段空间长度为L.listsize+LISTINCREMENT,与原来的空间一点关系都没有?

//还有在C++的语法中是怎么实现增加分配的?
//望不吝赐教,感激之至
#define LIST_INIT_SIZE 100
#define LISTINCREMENT   10
typedef struct
{
   Elemtype *elem;  //存储空间基址
   int length;      //当前长度
   int listsize;    //当前分配的存储容量
}SqList;
..............
..............

status ListInsert_Sq(SqList &L,int i,Elemtype e)
{
    //在顺序表L中第i个位置之前插入新的元素e

    if(L.length>=L.listsize)  //当前存储空间满,增加分配
    {
        newbase=(Elemtype *)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(Elemtype));
        L.elem=newbase; //新基址
        L.listsize+=LISTINCREMENT;
    }
  ...........
  ...........
}
搜索更多相关主题的帖子: 定义 内存 空间 长度 
2008-03-03 22:35
悠灵逃了...
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2008-1-11
收藏
得分:0 
不用回了,俺已经明白了
2008-03-04 12:52
快速回复:数组长度定义的问题
数据加载中...
 
   



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

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