連續兩天沒寫了,今天繼續!算法
sizeof 對象 或 sizeof (類型名)數組
返回一個整型值,等於指定對象或類型佔用的存儲空間字節數。(返回值是無符號整型值,其類型爲size_t,在頭文件<stddef.h>中定義)。對象能夠是變量、數組或結構;類型能夠是基本類型int、double等,也能夠是派生類型,如結構類型或指針類型。函數
類型定義:提升程序的可移植性。學習
typedef int Length; //將Length定義爲與int具備同等意義的名字spa
Length len;命令行
聯合:在不一樣時刻保存不一樣類型和長度的對象的變量,編譯器負責跟蹤對象的長度和對齊要求。指針
1 union u_tag{ 2 int ival; 3 float fval; 4 char *sval; 5 } u;
訪問聯合中的成員:調試
聯合名.成員 //u.ivalcode
或 聯合名->成員 //u->ival 對象
聯合只能用第一個成員類型的值進行初始化,上例聯合u只能做整數值進行初始化。
位字段
將多個對象保存在一個機器字中:使用相似於編譯器符號表的單個二進制位標誌集合。
1 #define KEYWORD 01 2 #define EXTERNAL 02 3 #define STATIC 04 4 或enum{KEYWORD = 01, EXTERNAL = 02, STATIC = 04};
位字段(bit-field)簡稱字符,是「字」中相鄰位的集合,「字」(word)是單個的存儲單元,與具體的實現有關。
1 #include <stdio.h> 2 struct{ 3 unsigned int is_keyword : 1; //冒號後的數字表示字段的寬度(用二進制位表示) 4 unsigned int is_extern : 1; 5 unsigned int is_static : 1; 6 } flags; 7 main(){ 8 printf("%d\n", flags.is_keyword); //0 9 flags.is_keyword = 1; 10 printf("%d\n", flags.is_keyword); //1 11 }
輸入與輸出
int getchar(void) //返回下一個輸入字符,到文件結尾,返回EOF。符號常量EOF在頭文件<stdio.h>中定義,其值通常爲-1,但在程序中應該使用EOF來判斷文件是否結束,這樣能保證程序同EOF的特定值無關。
prog < infile //從輸入文件(非鍵盤)中讀取字符
int putchar(int) //輸出字符,如發生錯誤,則返回EOF
prog > outfile //將標準輸出設備重定向到文件中,如系統支持管道,命令行可寫成:prog | outfile
printf //格式化輸出,調試時用的最多了
sprintf //將輸出結果存在到String中
scanf //格式化輸入
1 #include <stdio.h> 2 main(){ 3 double sum, v; 4 sum = 0; 5 while(scanf("%lf", &v) == 1){ 6 printf("\t%.2f\n", sum+=v); 7 } 8 return 0; 9 }
標準庫
1 <stdio.h> 輸入與輸入 2 <ctype.h> 字符類別檢測 3 <string.h> 字符串 4 <math.h> 數學 5 <stdlib.h> 一些實用函數 6 <assert.h> 診斷 7 <stdarg.h> 可變參數表 8 <setjmp.h> 非局部跳轉 9 <signal> 信號 10 <time.h> 日期、時間
學到最後,每每有點敷衍了事了。
就這樣一本書,基本翻完了。回想本身翻過的東西,基本上已忘記了。
基礎就先打到這,接下來是算法的學習,學以至用!
原文做者:lltong,博客園地址:http://www.cnblogs.com/lltong/