1. 程式人生 > >每天堅持學習一點C~~~

每天堅持學習一點C~~~

畢業前,一直在學習JAVA,想著可能將來做JAVA吧。誰知陰錯陽差的,做了C嵌入式測試,才知道什麼叫高手如雲啊, 學了10年的C的牛逼人物,人家都才敢稱自己會一點。。。。囧。。。。最近專案組任務輕鬆下來了,自己也該好好充充電,學學C,泡泡罈子。參考書籍《C和指標》

(一)資料

1. “變數的三個屬性---作用域,連結屬性,儲存型別, 決定了該變數的可視性”-------------------以前只知道作用域會決定它的可視性。

2. C的4種資料型別: 整型,浮點型,指標型和聚合性(陣列和結構體)-----------------java的我也忘完了。。。囧。。。

3. 整型包括: 字元型,短整型,整型,長整型--------------------額,字元型也是啊!!!!

4. ”長整型未必就比短整型表示的值就要大, 規定: 長整型的至少應該和整型的一樣長,整型至少和短整型的一樣長,之所以規定這樣,在可移植性上有了很大的進步"-----平時很不注意這些範圍的。

5. short int 至少是16位的 和 long int 至少是32位的。而我們最常用的預設的int是多少位的呢?根據編譯器的設計者而定的。書上指出”通常這個預設的int是這種機器最為自然(高效)的位數,同時標準中也未規定這三者必須不一樣。“  可能三者都設計成一樣的32位。

===============今天上線晚了,女友等著回去吃飯,明天繼續================

6. "char型別的變數是為了儲存字元型的值,但是字元的本質是小整數值。預設的char要麼是signed char 要麼是unsigned char,這取決於你的編譯器。所以呢在utong的機器上char的值是不同的,因此當你的程式使用char變數的值位於signed char和unsigned char的交集中,那麼這個程式才可以移植。例如所有的ASCLL字符集就都屬於這個範圍"------嗯,可以理解為什麼char型別的變數和int型別的變數進行偷雞摸狗的行為而來,嘿嘿~~~~

7. “接著上面的第6點,把一個字元當做小整型值的程式中,如果顯示的宣告該變數位signed或者unsigned,那麼可以提高可移植性,因為可以確保不同的機器中在字元是否為有符號值方面保持一致,但是又不能把所有的char變數宣告稱signed或unsigned,因為有的機器處理signed比較快,這樣統一處理就不太好了”-------看看java的string,囧~~

8. “第7點和第6點,為了移植性和處理能力,折衷的把char的值限制在signed和unsigned中去”------怎麼感覺像是廢話,^_^。

===============今晚要加點班,明天繼續================