#include #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 #define OK 1 #define ERROR 0 using namespace std; typedef int SElemType; typedef int Status; typedef struct { SElemType *base; SElemType *top; int stacksize; }SqS... 以上代码是一个使用顺序栈(SqStack)实现的简单程序,主要包括...
百度试题 结果1 题目STACK_INIT_SIZE 10这是什么?相关知识点: 试题来源: 解析 STACK_INIT_SIZE这个明显是一个宏的写法.STACK_INIT_SIZE 语法上看上去就代指10这个数字.以上
堆栈的初始化长度
int InitStack(SqStack *s) //这里定义s是指针{ s->base=(int*)malloc(Stack_Init_Size * sizeof (int)); //不能s.base,下同 if(!s->base) exit(OVERFLOW); s->top=s->base; s->stacksize=Stack_Init_Size; //这个是对的 return 0;}...
函数InitStack(SqStack &S) 的算法基本思想是: 为栈S 分配一个初始大小的内存空间(STACK_INIT_SIZE),并将其地址赋值给 S.base。 检查是否成功分配内存,如果失败则退出程序。 将S.top 和 S.base 都指向分配的内存空间。 将栈的容量设置为 STACK_INIT_SIZE。
2 1. 栈的顺序存储结构要求:利用书本上的栈的顺序存储结构定义,#define STACK_INIT_SIZE 100; // 存储空间初始分配量#define STACKINCREMENT 10; // 存储空间分配增量typedef struct {SElemType *base; // base的初值为NULLSElemType *top; // 栈顶指针int stacksize; // 当前已分配的存储空间,以元素为单位...
STACK_INIT_SIZE是一个预定义的宏,表示栈的初始化可容纳数量,而sizeof(SElemType)表示数据类型SElemType在内存中的长度,例如char类型一般为1个字节,float一般为4个字节,SElemType是通过typedef命令定义的一种类型。中间的*实际上就是一个乘法运算的符号,表示申请空间的大小等于STACK_INIT_SIZE这么多...
int InitStack(SqStack *s) //这里定义s是指针{ s->base=(int*)malloc(Stack_Init_Size * sizeof (int)); //不能s.base,下同 if(!s->base) exit(OVERFLOW); s->top=s->base; s->stacksize=Stack_Init_Size; //这个是对的 return 0;}...
int InitStack(SqStack *s) //这里定义s是指针{ s->base=(int*)malloc(Stack_Init_Size * sizeof (int)); //不能s.base,下同 if(!s->base) exit(OVERFLOW); s->top=s->base; s->stacksize=Stack_Init_Size; //这个是对的 return 0;}...
这句话应该是出现在数据结构的动态数组的C代码上。malloc是动态分配堆内存的语句;sizeof是求出括号内的数据类型的所占空间的大小,( SElemType * ) 是指针的强制转换,因为malloc分配的指针都是void *类型,STACK_INIT_SIZE 这里没有说明,估计是这个动态数组第一次分配空间的个数。