Time of Update: 2018-12-04
文章目錄 快速排序演算法
Time of Update: 2018-12-04
對於一個C語言程式而言,記憶體空間主要由五個部分組成程式碼片段(.text)、資料區段(.data)、BSS段(.bss),堆和棧組成,其中程式碼片段,資料區段和BSS段是編譯的時候由編譯器分配的,而堆和棧是程式啟動並執行時候由系統分配的。布局如下 在中,由編譯器分配的地址空間都是在串連的時候分配的,而運行時分配的空間是在程式運行時由系統分配的 BSS段:BSS段(bss segment)通常是指用來存放程式中未初始化的全域變數和靜態變數
Time of Update: 2018-12-04
前些天有個朋友問我,要不要去讀讀《Effective C++》,我忽然給出一個建議:不要讀,最多看一下目錄就好了。作為一本非常受歡迎的C++教材,我為什麼要建議朋友不要讀呢?事後我反思了一下我的想法:《Effective
Time of Update: 2018-12-04
沒有什麼比signed和unsigned的區別更無味了。unsinged資料類型似乎沒有存在的必要。一、unsigned可以提供更大的正數範圍 反對:對於小資料來說,signed的範圍就足夠了;對於大資料來說,signed和unsigned所提供的範圍其實幾乎沒什麼區別。Int8,Int16, Int32,
Time of Update: 2018-12-04
在內嵌彙編中,可以將C語言運算式指定為彙編指令的運算元,而且不用去管如何將C語言運算式的值讀入哪個寄存器,以及如何將計算結果寫回C 變數,你只要告訴程式中C語言運算式與彙編指令運算元之間的對應關係即可, GCC會自動插入程式碼完成必要的操作。 1、簡單的內嵌彙編 例: __asm__
Time of Update: 2018-12-04
c語言面試題-----指標篇 收藏 1. char * const p; char const * p const char *p 上述三個有什麼區別? char * const p; //常量指標,p的值不可以修改 char const * p;//指向常量的指標,指向的常量值不可以改 const char *p; //和char const *p------------------------------------------------------2. char
Time of Update: 2018-12-04
1. 定義const對象const 把一個對象轉換成一個常量: const int bufSize = 512;定義bufSize為常量並初始化為512. 因為常量在定義後就不能修改,所以定義時必須初始化。 2 const 引用 const int ival = 1024;const int &refVal = ival;const 引用可以綁定到不同但相關的類型的對象或綁定到右值int i=42; double dval = 3.14;const int &r =
Time of Update: 2018-12-04
MCI_OPEN_PARMS是一結構體類型,其結構體定義為 typedef struct { DWORD_PTR dwCallback; MCIDEVICEID wDeviceID;//設別ID LPCTSTR lpstrDeviceType;//裝置類型 LPCTSTR lpstrElementName;//檔案名稱 LPCTSTR lpstrAlias;//別名} MCI_OPEN_PARMS; 結構體成員具體為:dwCallback The low-
Time of Update: 2018-12-04
在C語言中有待用資料類型,聲明一個待用資料類型意味著:該變數的生存周期是靜態,即在程式的開始即分配到程式,終止時才釋放。在C++中,聲明一個類的待用資料成員意味著所有的執行個體只有該資料成員的一個拷貝。 《深入淺出MFC》這樣解釋: Static 成員不屬於對象的一部分,而是類的一部分。所以程式可以在沒有誕生分和 對象的時候就處理此種成員變數.但必須首先初始化它。
Time of Update: 2018-12-04
文章目錄 但這個問題在C#中可就是個大問題了啊.那針對問題2,C#咋整呢?
Time of Update: 2018-12-04
文章目錄 C#中沒有預設實參 函數傳回值我們定義函數時會指定一個傳回值類型,那在函數體中必須返回一個匹配的類型,或者隱式轉換後能匹配的類型.不過有時存在這樣的情況,如果函數體中存在一些分支語句,有些情況是可以返回一個值,但有時不會傳回值.還是舉個例子吧.有如下C++函數int FunArwen(int a , int b){if(a < b) return 888;}很顯然,上面的函數有時會返回一個值,但有時又不會.int
Time of Update: 2018-12-04
文章目錄 函數重名
Time of Update: 2018-12-04
文章目錄 好處注意事項
Time of Update: 2018-12-04
我們知道當執行個體化一個類時,也就是產生一個對象時需要分配記憶體空間.那一個對象具體需要多少位元組的記憶體空間? 通過些什麼規則計算出來的? 假如有如下一個類------------------------------------------------------------------------------------------------------------------------------類聲明Arwen.hclass
Time of Update: 2018-12-04
為啥需要動態分配記憶體 數組是我們常用的一種資料結構.但它有一個缺點,就是用的時候必須確定數組大小.如果我們要用數組來儲存的資料不確定可咋整啊?把數組定得太大浪費空間,太小的話又裝不下.這是一種情況.另外就是對象太大.我們使用的資料大部分時候都預設儲存在棧(stack)裡面,由系統去管理,會自動給分配記憶體,自動給刪除掉.但是stack很小,就那麼幾M,如果你讀取一個幾十M的常值內容然後儲存到一個字串裡,stack肯定會被撐爆了.
Time of Update: 2018-12-04
主要實現雙鏈表如下功能:void AddBack(T val); //鏈表尾部添加元素void AddFront(T val); //鏈表頭部添加元素bool InsertAt(int pos, T val); //在指定的索引處插入元素bool RemoveBack(); //尾部刪除元素bool RemoveFront(); //頭部刪除元素bool RemoveAt(int pos); //刪除指定索引處元素 bool Find(T val);
Time of Update: 2018-12-04
文章目錄 強型別與弱類型語言隱式轉換新式強制類型轉換方式C#強制類型轉換 強型別與弱類型語言像C++,C,Java,C#這些主流的程式設計語言都是強型別語言.而一些指令碼語言則是弱類型的,比如vbscript , javascript.1.強型別語言簡單的理解就是當定義了一個變數之後就會指定一個固定的類型,並對應一個固定的記憶體塊大小.比如有int , double
Time of Update: 2018-12-04
地球人都知道物件導向的三個主要特徵是封裝,繼承,多態.前面兩個概念顧名思義,比較容易理解,封裝就是所有的東東都給封裝到一個個的class中,並通過public,private等存取修飾詞提供一些許可權控制.繼承嘛就是子類能擁有父類的非私人的成員變數和函數,就像你能繼承你老子的財產一樣啊.多態光看名字可不好理解,可沒變態那麼通俗易懂啊.其實前面說的三個特性還有另外的版本,比如:資料抽象,繼承,動態綁定.說法不一樣但表示的意思完全一樣.
Time of Update: 2018-12-04
文章目錄 C++ 基礎資料型別 (Elementary Data Type)C#基礎資料型別 (Elementary Data Type) 1.類型系統簡介我們認識事務時總喜歡先分個類,然後研究每個各類的特性.在程式設計語言裡面把也會把所有基本內容分門別類.你首先想到的自然是int,long等基礎資料型別 (Elementary Data
Time of Update: 2018-12-04
下面通過C++代碼實現單鏈表的如下簡單操作viod Add(T val); //在鏈表尾部添加元素bool InsertAt(int pos, T val); //在索引為pos的位置插入元素valbool Remove(); //刪除鏈表尾部元素boo RemoveAt(int pos); //刪除任意指定索引所在元素 T GetHeadVal(); //返回鏈表頭部元素的值T GetTailVal(); //尾部元素的值int Find(T val);