当前位置:  技术问答>linux和unix

问题!问题? 问题!?

    来源: 互联网  发布时间:2014-11-30

    本文导语:  以下程序是用tc3。0编译通过,选择的模式为紧凑模式。 最先开始分配返回的地址,段地址和偏移地址都不为0,但是分配了一些了以后返回的地址都为0,这是为什么呢?! ////////////////////////// //Header //CCharList.h class...

以下程序是用tc3。0编译通过,选择的模式为紧凑模式。
最先开始分配返回的地址,段地址和偏移地址都不为0,但是分配了一些了以后返回的地址都为0,这是为什么呢?!

//////////////////////////
//Header
//CCharList.h


class CCharListNode                      //In Heap....
{
 public:
  char cChar;
  class CCharListNode far *pNext;
  class CCharListNode far *pLast;
};


class CCharList
{
 private:
  CCharListNode far *pList;
  CCharListNode far *pNodeOldLast;
  unsigned int iNodeOldLast;

  CCharListNode far* SeekNodeLast(unsigned int iPosition);

 public:
  unsigned int iListLength;
  CCharList(void);
  ~CCharList(void);
  int CreateList(void);
  int InsertNode(char cChar, unsigned int iPosition);
  int DeleteNode(unsigned int iPosition);
  int DeleteList(void);
  int GetCharFromNode(char &cChar, unsigned int iPosition);
  int SetCharToNode(char cChar, unsigned int iPosition);
};

////////////////////
//cpp file
//CCharList.cpp
#include 
#include 
#include 
#include 
#include 

#define Min(x, y)  xpNext=pList;
 pList->pLast=pList;

 pNodeOldLast=pList;
 iNodeOldLast=0;

 return 1;
}


int CCharList::InsertNode(char cChar, unsigned int iPosition)
{
 if(iPosition>iListLength+1 || iPositionSeekNodeLast(iPosition);

 printf(" [%x:%x] ", FP_SEG(pNode), FP_OFF(pNode));

 pNode->pNext=pSeek->pNext;
 pSeek->pNext=pNode;
 pNode->pLast=pSeek;
 pNode->pNext->pLast=pNode;

 pNode->cChar=cChar;

 iListLength++;

 return 1;
}

int CCharList::DeleteNode(unsigned int iPosition)
{
 if(iPosition>iListLength || iPositionSeekNodeLast(iPosition);

 pNode=pSeek->pNext;
 pSeek->pNext=pNode->pNext;
 pNode->pNext->pLast=pSeek;

 farfree(pNode);

 iListLength--;

 return 1;
}


int CCharList::GetCharFromNode(char &cChar, unsigned int iPosition)
{
 if(iPosition>iListLength || iPositionSeekNodeLast(iPosition);
 cChar=pSeek->pNext->cChar;

 return 1;
}


int CCharList::SetCharToNode(char cChar, unsigned int iPosition)
{
 if(iPosition>iListLength || iPositionSeekNodeLast(iPosition);
 pSeek->pNext->cChar=cChar;

 return 1;
}


int CCharList::DeleteList(void)
{
 int iLimit=iListLength;

 for(unsigned int i=0; iDeleteNode(1);

 farfree(pList);

 return 1;
}


CCharList::~CCharList(void)
{
 DeleteList();
}



CCharListNode far* CCharList::SeekNodeLast(unsigned int iPosition)
{
 iPosition--;

 CCharListNode far *pSeek;
 unsigned int iDistanceFromHead;
 unsigned int iDistanceFromOldLast;
 unsigned int iDistanceTemp;
 unsigned int iDistance;

 iDistanceFromHead=Min(iListLength+1-iPosition, iPosition);
 iDistanceTemp=iNodeOldLast

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明
  • 死锁的问题 多级锁定问题 循环锁定问题
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • [问题]双系统出现的问题!求问题的原因和解决办法!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 初学者问题。一个是编译hello world的问题,一个是配置ssh的问题
  • c/c++服务器程序内存泄露问题分析及解决
  • C程序问题:哪个高手帮我解释下下面的问题,主要是a[0]和&[0] 的区别 和编译器的问题??
  • ​部署 Docker 前必须问自己的四个问题
  • swing的问题还是jbuiler的问题??
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 菜鸟第一次安装红帽子7.2的一箩筐问题。每个问题会开个帖子,各放100分!请有安装经验的老鸟们帮忙解决。第二个问题:什么是LILO?怎么样


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3