《C程序设计语言》(第二版)要点总结
1、?C語言中的數(shù)據(jù)類型的取值范圍取決于具體的機器:
一般,char – 1字節(jié),short – 2字節(jié),int – 2或4字節(jié),float – 4字節(jié),long/double – 8字節(jié);
而Java中,char – 2字節(jié),byte – 1字節(jié),int – 4字節(jié),float – 4字節(jié),long/double – 8字節(jié)。
2、?C語言中所有函數(shù)參數(shù)都是“通過值”傳遞的。
3、?從技術角度看,地址就是指向變量的指針。
4、?定義表示創(chuàng)建變量并分配存儲空間;聲明只是說明變量的性質,并不分配空間。
5、?‘"0’表示值為0的字符,即空字符null。
6、?常量表達式是僅僅包含常量的表達式,在編譯期求值,而非在運行時。
7、?從技術角度看,字符串常量就是字符數(shù)組。
8、?C語言沒有指定同一運算符中多個操作數(shù)的計算順序(&&,||,?,:除外),也沒有指定函數(shù)中各參數(shù)的求值順序。
9、?靜態(tài)外部變量/函數(shù),其后聲明的對象作用域限定為被編譯文件的剩余部分;靜態(tài)內部變量,不管其所在函數(shù)是否被調用,它一直存在,占據(jù)存儲空間。
10、register聲明告訴編譯期,變量放在寄存器中,只適用于自動變量(內部變量)以及函數(shù)的形式參數(shù);寄存器變量無論實際上是否存放在寄存器中,它的地址都是不可訪問的。
11、不顯示進行初始化時,外部變量和靜態(tài)變量都將被初始化為0,而自動變量和寄存器變量初值無定義;外部/靜態(tài)變量的初始化表達式必須是常量表達式,且只初始化一次;自動/寄存器變量每次進入函數(shù)或程序時都將被初始化。
12、指針的本質是存儲地址值的變量。
13、把數(shù)組傳遞給一個函數(shù)時,實際上傳遞的是該數(shù)組的第一個元素的地址。函數(shù)定義中,形參char s[]與char * s是等價的,實參卻有很大的差別。
14、0永遠不是有效的數(shù)據(jù)地址,故可返回0表示異常。
15、進出棧的標準用法:*p++=val;/val進棧/?val=*--p;/出棧/。
16、指針數(shù)組最頻繁的用處是存放不同長度的字符串,如char * name[]={“Jan”,”Feb”,”Mar”}。
17、結構的合法操作 a)整體復制和賦值;b)&操作;c)訪問其成員。
18、結構類型的參數(shù)和其它類型的參數(shù)一樣,都是通過值傳遞的。
19、所有運算符中,·,à,( ),[ ]這些運算優(yōu)先級最高。
20、結構的長度未必等于各成員之和,因為不同對象有不同的對齊要求,結構中可能會出現(xiàn)未命名的“空穴”(hole)。
21、一個包含其自身實例的結構是非法的,但是可以包含指向結構的指針。
22、union:一個變量可以合法地保存多種數(shù)據(jù)類型中任一種類型的對象;聯(lián)合允許的操作與結構相同,且只能用其第一個成員類型的值進行初始化。
轉載于:https://www.cnblogs.com/mym/archive/2007/10/14/923795.html
總結
以上是生活随笔為你收集整理的《C程序设计语言》(第二版)要点总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 客家
- 下一篇: 十八个超经典故事 绝对不会后悔