C语言中用stack pop() top 等与栈有关的函数需要什么头文件啊???

C语言中用stack pop() top 等与栈有关的函数需要什么头文件啊???,第1张

1、C语言标准库当中没有与stack栈相关的标准类。

2、可以自定义这个头文件,例如:

struct Stack

{

    int mData[100]

    int mLen

}

//初始化栈

void InitStack(Stack &S)

{

    S.mLen = 0

}

//元素进栈

void Push(Stack &S,int item)

{

    S.mData[S.mLen++] = item

}

//删除栈顶元素

int Pop(Stack &S)

{

    S.mLen--

    return S.mData[S.mLen]

}

//返回栈顶元素

int  Peek(Stack &S)

{

    return S.mData[S.mLen-1]

}

//判断栈是否为空

bool EmptyStack(Stack &S)

{

    if(S.mLen == 0) return true

    return false

}

//清空栈

void Clear(Stack &S)

{

    for(int i = 0i<S.mLen++i)

    {

        Pop(S)

    }

}

#define STACK_INIT_SIZE 100 //c语言中定义一个常量。STACK_INIT_SIZE =100

#define STACKINCREMENT 10 //c语言中定义一个常量。STACKINCREMENT =10

#include <stdio.h>

#include <stdlib.h>//包含两个头文件。stdio.h和stdlib.h

typedef struct //定义一个数据结构 里面包含三个变量,两个整型的指针,和一个整型的变量

{int *base

int *top

int stacksize}sqstack

int initstack(sqstack s) //初始化栈的函数

{

s.base=(int *)malloc(STACK_INIT_SIZE*sizeof(int)) //为s.base分配空间大小为100*2字节空间

if(!s.base) exit(-1) //如果s.base 为空推出。

s.top=s.base//不为空时则s.top=s.base.s.stacksize就赋值为100

s.stacksize=STACK_INIT_SIZE

return 1 //返回1

}

iv_t和lldiv_t;宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等;

常见的函数有malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等。具体内容可以在编译器的包含目录stdlib.h头文件中打开查看。

为了方便用户编写程序,C语言为用户开发了大量的库函数,定义在。H文件,用户可以调用这些函数来实现强大的功能。因此,对于用户来说,这些函数的使用是提高编程水平的关键。

扩展资料:

以下内容适用于头文件

1.对于具有外部存储类型的标识符,可以在任何其他源程序文件中声明后引用它们,这样用户就可以完全将具有外部存储类型的标识符的一些声明放在头文件中。

2.具体来说,头文件可以包括用户构造的数据类型(例如枚举类型)、外部变量、外部函数、常量和具有一定通用性或公共量的内联函数。一般的变量和函数定义不应该放在头文件中。

其他:

双假设(双x,双y);//给定一个直角三角形的两条边的长度,求斜边的长度。

双ldexp(双x,int指数);//计算x*(2的指数次方)。

双poly(Doublex,intdegree,Doublecoeffs[])//计算多项式。

Ntmatherr(structexception*e)//数学错误计算处理程序。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/11577794.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存