原创 5.7 數組名作爲函數的參數

----數組元素作實參,對應的形參爲變量,一次傳遞一個元素,採用值傳遞。 ----數組名作實參,對應的形參爲一個數組,一次傳遞整個數組。 ----數組作參數,其參數傳遞可理解爲形參數組與實參數組共用同一數組空間(即共用實參數組空間)。因此

原创 5.5 參數的傳遞方式

C++中參數有三種傳遞方式: (1)值傳遞 (2)引用傳遞 (3)指針傳遞   值傳遞:調用時,將實參的值傳遞給對應的形參,這就是值傳遞。 注意:由於形參有自己獨立的存儲空間,又作爲函數的局部變量使用,因此在函數中對形參值的任何修改都不會

原创 6.3 函數重載

函數重載: (1)函數重載是指在一個程序中,可以定義多個具有相同函數名,不同參數列表的函數(至少參數的類型或者參數個數或者參數類型的順序不同)。這樣的函數被稱爲重載函數。 (2)當調用一個重載函數時,編譯系統將通過檢查函數調用中的實參個數

原创 5.2 函數的定義

函數定義的一般格式:   2. 函數值類型----即函數的返回值類型 (1)返回簡單類型,如int,long,float,double,char等 (2)返回結構類型 (3)返回指針類型 (4)返回引用類型 注意:如果函數沒有任何返回值

原创 6.5 實例講解(hanoi塔問題)

程序:Hanoi塔問題   解題方法討論: 總結:將要移動的盤分爲2組,最下盤和其他盤。先將其他盤移動到輔助樁,再將最下盤移動到目標樁,最後將其他盤移動到目標樁。   假設n=3,看看這個解決過程:

原创 8.1 數組與指針、指針的算術運算

一維數組的指針: (1)數組佔據內存中一塊連續的存儲空間,每個數組元素都有確定的內存地址;可以通過 定義指向數組元素類型的指針變量,間接訪問數組中的每個元素。 (2)C++語言規定,數組名代表數組的首地址(即數組中第一個元素的地址),它是

原创 7.2 指針與變量的關係

變量與指針變量: (1)變量有地址,指針變量可以存放變量的地址。 (2)當指針變量中存放某個變量的地址後,我們就說該指針變量指向這個變量。   使用指針變量的三個基本步驟: (1)定義指針變量:即給指針變量分配內存空間。 (2)對指針變

原创 7.4 返回指針的函數

返回指針的函數定義格式如下: 其中: 類型 *  :爲函數的返回值類型,是一個指針類型。   舉個例子:編寫函數,返回字符串中首次出現的非空格字符開始的字符串。 注意:返回字符串就是返回該字符串的首地址。字符串首地址就是一個字符型指針

原创 5.6 爲形參指定默認值

爲形參指定默認值: C++語言允許在函數定義時爲形參指定默認參數值。這樣,在函數調用時,如果沒有提供實參,則形參自動使用其默認值。 #include<iostream> #include<cstring> using namespace

原创 4.10 實例:詞頻統計

實例:詞頻統計 ----輸入一系列英文單詞(單詞之間用空格隔開),用“xyz”表示輸入結束 ----統計各單詞出現的次數(單詞不區分大小寫),對單詞按字典順序進行排序後輸出單詞和詞頻   運行結果:   問題分析:   【算法描述】

原创 5.3 函數的聲明

函數的聲明: (1)在C++中,程序編譯的單位是源程序文件(即源文件),一個由多個函數構成的程序可以組織存放在一個或多個源文件中。 (2)在源文件中,函數之間的排列順序沒有固定的要求,但要滿足“先定義後使用”的原則。 (3)對於標準庫函數

原创 7.1 什麼是指針

指針是一種數據類型,指針與內存單元的地址密切相關。   內存由內存單元構成。   對於內存單元,需關注兩個概念: (1)內存單元的地址:即內存單元的編號。 注意:系統爲方便管理內存空間,給每一個內存單元進行整數編號,將內存單元的編號稱爲

原创 7.6 實例:指針變量作形參

通過函數調用來改變主調函數某些變量的值,可以把指針變量作爲函數的形參。 舉個例子:三個數排序的問題 算法與程序結構:   自定義函數:

原创 6.2 內聯函數

內聯函數: 程序通過一組函數實現是一種好的設計方法。但是函數調用涉及執行時間的開銷。 C++提供的內聯函數可以減少函數調用的開銷。 內聯函數的定義格式: 注意: (1)對用戶來說,內聯函數的定義和調用與普通函數的使用方法是相似的。 (2

原创 二-歐拉角

那麼這裏涉及到旋轉矩陣和平移矩陣。對於旋轉有歐拉角描述,根據歐拉角計算出旋轉矩陣。歐拉角指的是座標系繞某個軸旋轉的角度,那麼從一個座標系旋轉到另一個座標系需要三次旋轉能夠完成。對於繞座標軸旋轉分爲兩種,一種是繞原座標系的固定軸旋轉,一種是