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