由於太久不學c語言了,一些東西都忘完了,寫一些做題時遇到的注意事項
1、8進製定義為 int x = 010;即前面加個0 ;
16進製為int x = 0x10;
沒有二進位制的定義規範;
2、for(;;)在無約束條件時,預設為ture
3、轉義字元有三種形式:
1. 8進製\
加8進製數字
2. 16進製制\x
加16進製制數字
3. 特殊轉義字元\
加有特殊意義的符號
在使用數學轉義時,是獲取其相對應的ascii編碼
4、對於陣列的定義,只要不超過陣列的上限,隨意寫內容 越靠前的維數代表的{}越內 注意可以缺維寫內部資料
eg:int y[1][4] =
5、&&與&是有很大區別的(||與|同理),
1.&的優先順序要比&&高
2.&&只要第乙個前面的為0,則直接跳過後面的計算,&則會把所有都計算完
3.||只要第乙個為1,則直接跳過後面的運輸,|則會把所有都計算完
6、關於union共用體的注意項
1.共用體並非以前理解的靜態物件,而是動態的
2.共用體中的記憶體是被所有變數共用的,即改變共用體任意乙個成員都是在改變所有成員
3.共用體與結構體中 每個變數的偏移位址起始 應該是 其中最大變數型別大小的值,所以共用體與結構體的大小也應該是 最大變數型別大小 的整數倍
7、關於變數的儲存型別
1.auto型別是指自動儲存,會在當前語句塊執行結束後自動釋放,一般定義在函式與語句塊之內的變數都遵循該原則(即預設帶auto)但函式外的全域性變數加上auto不知道有什麼用(也許是以檔案為單位來釋放記憶體?)
2.register型別是將變數放入暫存器中來達到快速訪問的目的,由於將變數放置在暫存器中,所以register有很多限制,首先不能定義過多的register型變數(因為暫存器有限),然後register必須是暫存器(cpu)所能支援的型別(非自己定義的)然後,register的長度必須在(0-ffff)之間(不能使用double long),不能被修飾為靜態變數,沒有位址(因為在暫存器中)
3.extern是函式的隱含儲存類別,即不做設定的話,每個函式都是extern的,他的作用是宣告函式全域性,一般的用處可能是在一些物件中使用?
8、逗號是個運算子,其返回的結果是最後乙個表示式 a = (b,c,d,e);結果a=e,其優先順序是所有運算子中最低的
9、函式在未加顯式宣告的時候,有個隱含型別int
《學習筆記? 考試與做題的注意事項總結。
陣列 1.陣列一定不要開太大,int 型 128mb 3200萬,256mb 6400萬,注意char 佔1位元組,long int 佔4位元組,long long 佔8位元組 double 佔8位元組 char,short int long,long long,unsigned long long...
C語言注意事項
1 fgetc與fputc函式 fgetc函式從指定的文 件中讀乙個位元組 fputc 函式向指定的檔案寫乙個位元組 2 r 是回車,n 是換行,前者使游標到行首,後者使游標下移一格。c語言程式設計時 windows系統 r 就是return 回到 本行 行首 這就會把這一行以前的輸出 覆蓋掉 如 ...
C語言注意事項
一 關於typedef與 define的相似之處 例如 typedef int count define count int 作用 都是用count代表int,但事實上,二者是不同的。define是在預編譯時處理的,只能作簡單的字串替換,而typedef是在編譯時處理的,並不是作簡單的字串替換,而是...