1.在允許使用某種型別變數值的任何場合,都可以使用該型別的更複雜的表示式
2.for迴圈分為三部分,第一部分為初始化,僅在進入迴圈前執行一次。第二部分是控制迴圈的測試或者
條件部分,迴圈控制將對該條件求值,如果結果值為真,則執行一次迴圈體。然後執行第三部分,然後在求條件值,根據值的結果決定是否執行迴圈體。
3.#define 定義符號常量的過程中後邊沒有符號『;』。
4.標準庫提供的標準輸入輸出模型非常簡單。無**本從何處輸入,輸出到何處,其輸入/輸出都是按照字元流的方式處理。文字流是由多行字元構成的字串行,而每行字元則由0個或多個字元組成,行末是乙個換行符。
5.#define getchar() getc(stdin) 說明getchar()函式和getc(stdin)函式的作用是一樣的
#define getc(_stream) (--(_stream)->_cnt>=0?oxff&*(_stream)->_ptr++:_filbuf(_stream))
類似於 if(--(_stream)->_cnt>=0)
return oxff&*(_stream)->_ptr++;
else
_filbuf(_stream));清空快取
#define stdin (&_iob[0]) stdin的型別就是乙個_iob[0]的位址
_crtimp extern file _iob;
struct _iobuf;
typedef struct _iobuf file;
--(_stream)->_cnt>=0判斷緩衝區是否有資料,有的話減一,並讀取了乙個資料return 0xff&*(stdin)->ptr++,並且指標向前移動乙個位置。
比如執行如下函式體
main()
char c;
c=getchar();
c=getchar();
printf("%c",c);
執行後輸入a然後在單擊enter鍵
輸出回車,原因在於利用了緩衝機制,將a以及回車的對應的字元儲存到緩衝區,然後判斷緩衝區中的_cnt(字元的個數)減以後為1,大於零,所以執行return語句,將緩衝區中的字元輸出,接下來同樣的判斷仍符合要求,接著將緩衝區中的字元賦值給c輸出回車。
重新學習makefile
今天回顧了一下makefile,做下筆記 首先準備幾個簡單的檔案 add.c head.h main.c mul.c sub.c 然後第一版 makefile 然後第二版 gcc c main.c o main.o 然後第三版 makefile 的語法跟shell 很像 第四版 目標 依賴 tab ...
重新學習struts
這就是所謂的一邊工作一邊學習。今天準備把給公司寫個管理頁面,按照之前的路數,寫起來應該挺快,但是不太規範。也就沉下心來學習一下了。第二個學習的是,異常處理。也是在學校的時候,聽老師說過,struts2有提供乙個異常處理機制。平常我們有些異常處理,會在 中寫try catch。public strin...
重新學習C 之 變數
1 變數宣告語法 datatype identifier eg int i 該語句宣告了int變數i。如果在表示式中直接使用此變數會報錯,除非對該變數進行初始化。2 宣告變數的方法 1 int i i 1 先宣告,在賦值 初始化 2 int x 0 宣告並初始化他的值。3 int x 0,y 0 在...