1. 程式人生 > >程式設計實現一個棧結構,用陣列來實現,具有入棧、出棧操作。

程式設計實現一個棧結構,用陣列來實現,具有入棧、出棧操作。

#include <stdio.h> #include <stdlib.h>
typedef
struct stack { int point;
  signed
char mem[1024];
}STACK;
STACK g_statck
={0}; //定義一個全域性的棧,棧指標和棧空間初始化為0; void pushStack(void*p, int n) //將一個void型別的指標指向的資料加入棧;n為資料大小 {
 
if(g_statck.point+n >=1024)//如果資料加入棧之後超過1024;則提示棧溢位;   {
  printf(
"the stack is overflow!/n

");
 
return;
  }
 
int i;
  signed
char*temp = p;
 
for(i =0;i <n;i++) //將資料按照位元組方式壓入棧中;   {
  g_statck.mem[g_statck.point]
=*temp;
  g_statck.point
++;
  temp
++;
  }
}
void popStack(int n)
{
 
if(g_statck.point -n <0) //如果棧中的元素不夠;則提示出棧失敗;   {
  
  printf(
"error pop stack!/n");
  }
  g_statck.point
= g_statck.point
-n;//否則將棧指標指向新地址 }
int main(int argc,char** argv)
{


system(
"PAUSE");
return0;
}