1樓:匿名使用者
#include
#include
#define initsize 100
#define newsize 10
#define ok 0
#define error -1
typedef int status;
typedef int elemtype;
typedef structstack;
status initstack(stack *s)s->top=s->base;
s->stacksize=initsize;
return ok;
}status push(elemtype e,stack *s)s->stacksize+=newsize;
*s->top++=e;
return ok;
}status pop(stack *s)status gtop(elemtype *e,stack *s)int main(void)
for(i=0;i<5;i++)
printf("\n");
}書上標準的寫法。。
2樓:匿名使用者
你又不說出錯的現象,怎麼找啊..
C語言棧是什麼,棧在哪,需要定義嗎
棧是一種資料結構,後進先出,即最後進入棧的資料最先彈出。c語言中沒有棧這種資料型別,需要自己程式設計構建。棧 是一種後進先出 lifo,或叫先進後出filo 的資料結構。這是資料結構的範疇。您所說的棧,是由作業系統負責管理的一段棧空間,在遞迴 子程式呼叫等處應用廣泛。這是作業系統的範疇。並不是在c語...
關於用c語言寫的入棧和出棧程式,棧操作的問題
嗯,是你這樣理解,書上錯了 78,79行應改成top top next free p1 c語言 進棧和出棧 閒得沒事幹,跟你詳細講講吧。首先要弄明白一點,棧的結構是 先進後出 的,就像你堆積木一樣,第一根放在最底層的地面上,然後一根一根往上堆。前乙個放上去的總是被後乙個放上去的壓在底下。那我當我再想...
c語言中堆和棧的區別?詳細解答,淺析C語言中堆和棧的區別
棧是先入後出 後入先出的儲存區域,對作業系統來說管理比較簡單,只需要記版錄棧底和當前棧 權頂的位置即可,一般用於保護現場。比如呼叫函式時,呼叫點pc位址被壓入堆疊 函式引數被壓入棧,在函式呼叫結束時會被彈出堆疊指令丟棄或被返回語句利用。堆是提供給當前程式執行時刻開設緩衝區 如使用malloc函式 n...