c++中的c
《建立函式》
函式原型:
eg. int func(in,float,long z); //long z will be warned !
int func( ) //無引數而不是任意引數
float func (...)//可變引數列表,避免(?)
返回值:
1、每個函式都有返回值,空返回值為void
2、return的結果視返回值而定:
考慮:
int func()
//----------------------------------
char func()
3、void不能使用return
int func()
//----------------------------------
char func()
3、void不能使用return
函式庫:
使用方法:包含標頭檔案
《執行控制語句》: 我最先接觸的部分:)
//...略...//
注意:
1、可以隨時定義變數;
2、goto:
goto跳出多重迴圈,可讀性高;
當然把迴圈寫成函式再return也行,每層迴圈加條件也行;
遞迴:等寫演算法筆記時再寫
<運算子簡介》:
運算子優先順序:查表吧!
自增自減:
1、效率
++i //無臨時變數
i++ //臨時變數
2、運算順序
consider:
i=1;
y=i++ //y=1,i=2
or y=++i //y=2,i=2
請參考:http://***munity.csdn.***/expert/topic/3688/3688400.xml?temp=.260235
資料型別:內部型別、抽象型別(自定義的類)
基本內部型別:只規定儲存臨界值,二進位制及其轉換為數字;6e-4
bool:隱式轉換??
說明符:specifier
long / short 值上下限 float 4 double 8 long double 10
修飾int可以不寫int: long a 就是 long int a
signed / unsigned 是否使用符號位
由此可見,long short不可以修飾char,因為char只有一位,而signed unsigned不可
以修飾浮點
型別因為浮點型別總含有乙個符號。
指標:終於到你了! :)
* 和誰更親密?
定義乙個變數ptr來儲存位址,怎麼做到?
int* ptr=&a
我們實際上想要得是ptr=&a,但是沒有乙個基本內部型別可以讀取&a這樣的資料,所以
插入乙個*來表示指標,那麼*和誰結合更密切呢?
考慮兩種說法:
1、int* ptr //與型別更密切
2、int *ptr//與變數更密切
但是他們都有自己的難處:
1、int a,b,c可行,按照這種邏輯int* a,b,c也是可行的,但實際上我們不得不寫成
int* a;
int* b;
int * c;
2、 int *ptr=&a 這又好像在說 *ptr=&a,而這並不是我們所要的
eckel給我們了乙個新答案:*是插入的,和前後沒有親疏關係,只是乙個標誌告訴編譯器
:「 等一等,它是乙個指標。」
用途:修改外部物件;一些程式設計技巧
修改外部物件:
為什麼可以修改?我們可以先看看定義並初始化乙個變數時發生的事情,這樣有助於理解值傳 遞和位址傳遞 。要記住三個名詞:名稱(訪問標識),值,記憶體位址。值儲存在記憶體位址中,而名稱只是訪問該位址從而獲得值的訪問標識,可以認為值和內
存位址結合更緊密,是一一對應的,而訪問標識則可以有多個,我們看個例子:
e.g : int a=23; //第乙個標識a 以及唯一值23
假設&a=4198736 //唯一位址,已經轉換為long型
int* ptr=&a; //第二個標識*ptr
為什麼第二個標識不是ptr呢?因為ptr的值是記憶體位址,把ptr做*運算就可以得到訪問內
存4198736的第二個標識了,它相當於第乙個標識a。所以從功能上講,
*ptr與a一樣 //兩個訪問標識
ptr與&a一樣 //這裡複雜一些,ptr實際上是乙個新的名稱,它對應另乙個的值
//、記憶體
void main()
//----------------------------------
char func()
3、void不能使用return
C 學習筆記 Thinking in C 四
1 運算子過載 1 class byte 2 12 3 關鍵字explicit c 提供了關鍵字explicit,可以阻止不應該允許的經過轉換建構函式進行的隱式轉換的發生。宣告為explicit的建構函式不能在隱式轉換中使用。顯示宣告 ce e 1 ce e2 e1 這種顯式呼叫外,其它都是非顯式的...
錯誤檢查 Thinking in C
為本書其餘部分改進錯誤檢查是很方便的。用內聯函式可以簡單地包括乙個檔案而不用擔 心連線什麼。到目前為止,assert 巨集已用於 錯誤檢查 但它真正用處是除錯並終將被能夠 在執行時提供更多有用資訊的東西代替。何況異常處理程式 在 1 7章介紹 已提供了更多的處 理這些錯誤的有效的方法。這是預處理器仍...
thinking in C 讀書日誌(二)
2007 08 01 第二章物件的建立與使用 第二章主要講述 c 的一些基礎知識和基本語法,不過我們仍能從書中學到新的東西。這次盡量減小文章的篇幅。主要分兩方面寫 1.推薦知識點,從廣度上覆蓋本章精華 2.對特定某個知識點的進一步研究 從深度上進行探索。1 直譯器與翻譯器 p28 初始學 c 的時候...