3 回答
TA貢獻1818條經驗 獲得超11個贊
class hEntry{
piblic :
int priority;
String data;
};
class Heap{
public:
void deletMin();
private:
hEntry* hArray;
int numEntries;
}
TA貢獻1826條經驗 獲得超6個贊
我們說的堆(heap) 是程序員申請的內存空間,在C/C++中,你可以理解為:所有非常量的指針空間。和heap對應的,還有棧(stack)、靜態區(static)、常量區(const),以及程序代碼區。這些都是程序運行所需要申請的內存空間。
heap堆和其它內存區的主要差別,一個是heap是由程序員申請、釋放和管理的(而不是由系統和程序自動分配和釋放),是動態的;另外一個就是,其它區域都是有固定大小的,而heap的大小,僅僅受到內存和虛擬內存大小的限制,也就是說,理論上你可以申請的堆空間是無限大的。
例子:main() {const char* m = "123";//"123" 常量區,m在棧(指針的本身都在棧,下同)char s[] = "abc"; //常量區char *p3 = "123456"; //常量區static int c =0; //全局(靜態)初始化區 char *p1,*p2;p1 = (char *)malloc(10); //分配得來得10字節的區域就在堆區。 p2 = new char[20]; //分配得來得20字節的區域就在堆區。
C語言之所以命名為C,是因為 C語言源自Ken Thompson發明的B語言,而 B語言則源自BCPL語言。1967年,劍橋大學的Martin Richards對CPL語言進行了簡化,于是產生了BCPL(Basic Combined Programming Language)語言。
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的C語言程序可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平臺。
- 3 回答
- 0 關注
- 522 瀏覽
添加回答
舉報
