|
自己總結(jié)的,覺得能幫助初學(xué)者看透一些紛繁復(fù)雜的語法規(guī)則,理解C語言的真諦,不一定正確,歡迎討論、指正、補充。
1. 表達式定律
任何能產(chǎn)生數(shù)值結(jié)果的運算、操作都可以作為表達式,并可以放到任何需要數(shù)值結(jié)果的地方,只要數(shù)值類型能夠匹配
常見的可以產(chǎn)生數(shù)值結(jié)果的運算和操作
算術(shù)、邏輯、位運算等
? :
&、*等操作
有返回值的函數(shù)
常見的需要數(shù)值的地方有:
賦值
條件判斷
函數(shù)調(diào)用
2. 類型定律
任何類型都可以在任何需要類型的地方使用
已知特例
函數(shù)返回值不能定義為數(shù)組類型
常用類型
基本數(shù)據(jù)類型、指針、數(shù)組、結(jié)構(gòu)……
常見的需要類型的地方
定義變量
定義指針、數(shù)組和結(jié)構(gòu)
函數(shù)參數(shù)和返回值
sizeof
3. 參數(shù)傳遞定律
函數(shù)調(diào)用時的參數(shù)傳遞永遠(yuǎn)都是傳值調(diào)用,把實參的值拷貝給形參
實參:調(diào)用者提供的參數(shù)
形參:函數(shù)定義的參數(shù)
基本數(shù)據(jù)類型無容置疑
struct也無容置疑
指針作為參數(shù)時,把指針變量的內(nèi)容(就是其指向的內(nèi)存地址)做了拷貝
數(shù)組名作為參數(shù)時,把它等同于指針看待了
|
|