C語言中的三大定律
發表于:2007-07-14來源:作者:點擊數:
標簽:
C語言中的三大定律: 自己總結的,覺得能幫助初學者看透一些紛繁復雜的語法規則,理解C語言的真諦 第一次發布,不一定正確,歡迎討論、指正、補充 1. 表達式定律 任何能產生數值結果的運算、操作都可以作為表達式,并可以放到任何需要數值結果的地方,只要數
C語言中的三大定律: 自己總結的,覺得能幫助初學者看透一些紛繁復雜的語法規則,理解C語言的真諦
第一次發布,不一定正確,歡迎討論、指正、補充
1. 表達式定律 任何能產生數值結果的運算、操作都可以作為表達式,并可以放到任何需要數值結果的地方,只要數值類型能夠匹配
常見的可以產生數值結果的運算和操作
算術、邏輯、位運算等
? :
&、*等操作
有返回值的函數
常見的需要數值的地方有:
賦值
條件判斷
函數調用
2. 類型定律 任何類型都可以在任何需要類型的地方使用
已知特例
函數返回值不能定義為數組類型
常用類型
基本數據類型、指針、數組、結構……
常見的需要類型的地方
定義變量
定義指針、數組和結構
函數參數和返回值
sizeof
3. 參數傳遞定律 函數調用時的參數傳遞永遠都是傳值調用,把實參的值拷貝給形參
實參:調用者提供的參數
形參:函數定義的參數
基本數據類型無容置疑
struct也無容置疑
指針作為參數時,把指針變量的內容(就是其指向的內存地址)做了拷貝
數組名作為參數時,把它等同于指針看待了
原文轉自:http://www.anti-gravitydesign.com