学习笔记栈

首先,栈由定义者自主控制使用,所以不能采用系统分配的栈,必须使用 malloc()分配。

对其数据结构,有两种定义方式:

方式一:

#define  SIZE  100;
#define  ADD   10;
typedef  int   typedata;
typedef  struct
{
     typedata*  top;
    typedata*   base;
}stack,*psta
其分配内存的方式:

int Initstaick(psta s)
{
s->base=(typedata*)malloc(SIZE*sizeof(typedata));
if(s->base==NULL)  return 0;
s->top=s->base;
}



 方式二: 

#define  SIZE  100
typedef  int   typedata;
typedef  struct staick
{
    typedata   base[SIZE];
    typedata*  top;
}staick,*psta;

 其分配内存的方式: 
int Initstaick(psta& s)
{
   s=(psta)malloc(sizeof(staick));
   if(!s) return 0;
   s->top=s->base;
}


 

两种方式比较:方式一只需准备top,base 这两个typedata*类型的操作指针,在栈初始化分配内存的时候通过

s->base=(typedata*)malloc(SIZE*sizeof(typedata));   类型*大小的方式

方式二则已经在数据结构中通过数组 base[SIZE] 定义好了栈初始化的大小,和后指针(base),只需定义 typedata*   top。

所以其通过一捆式分配内存

s=(psta)malloc(sizeof(staick));



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值