我是C編程新手,我需要一個C頭文件,它管理兩個堆棧。應該只有兩種方法:push和pop(但它們不指向相同的堆棧)。C頭文件中的「private」變量
壓棧將把數據到其上,然後被彈出和由標題的功能內部處理並輸出被推動(每當)到第二堆疊在第一堆疊
彈出將獲得您的輸出數據從第二棧,如果有任何
的問題是,我不知道如何使可用於pop方法第二堆層,如果有可能不是在頭文件中初始化的變量。在.c文件中初始化堆棧似乎是錯誤的。
我是C編程新手,我需要一個C頭文件,它管理兩個堆棧。應該只有兩種方法:push和pop(但它們不指向相同的堆棧)。C頭文件中的「private」變量
壓棧將把數據到其上,然後被彈出和由標題的功能內部處理並輸出被推動(每當)到第二堆疊在第一堆疊
彈出將獲得您的輸出數據從第二棧,如果有任何
的問題是,我不知道如何使可用於pop方法第二堆層,如果有可能不是在頭文件中初始化的變量。在.c文件中初始化堆棧似乎是錯誤的。
頭文件只能包含push
和pop
函數的原型。然後聲明,定義所有數據(變量等),並在定義push
和pop
函數的源文件中初始化。
哦,我明白了。似乎我對.c和.h文件之間的區別有誤解。謝謝。 – asso
根本不需要暴露頭文件中的堆棧。只需在你的C實現文件中完全實現它們;頭可以簡單:
void push(int value);
int pop();
int empty(); // returns 0 if pop() is valid to call now
void process(); // do some work, moves things from the input stack to the output
在實現文件中,只是默認初始化堆棧指針爲NULL,並設置堆棧中的用戶第一次調用push()。
爲什麼它「在.c文件中初始化堆棧似乎錯了」? – doctorlove
*「由**標頭功能**內部處理」是什麼*「是什麼意思?標頭文件不應有任何功能。 – user694733
我學會了使用java編寫代碼,並且在c文件中聲明這些東西在我看來似乎只是寫「public」java方法而已。也許這只是因爲我沒有看到C帶來的所有優點和可能性,但是:) – asso