iOS網路編程——Day3 (C語言補充)
1.常量分類(1)整型常量 只有10進位有正負整數%d 十進位預留位置 以10進位方式列印整型常量%o 八進位預留位置 以8進位方式列印整型常量%x 十六進位預留位置 以16進位方式列印整型常量10進位整型書寫 238進位整型書寫 0開頭 02316進位整型書寫 ox開頭 ox23 short int 2個位元組 16位 有符號(正負)-32768 ~ 32767 int 4個位元組 32位 long int 8個位元組 64位 u 無符號int型ul/lu 無符號長整型 整數可以分為正整數和負整數儲存,正整數為原碼儲存,負整數為補碼儲存,第一個為符號位,0表示負數,1表示正數 6 佔兩個位元組,分正負 可以儲存為1000000000000110 ,得到補碼的方式:原碼->反碼(變成相反的數)->補碼(+1)-6 00000000000000110->1111111111111001->111111111111010(2)實型常量一般形式的實數:由整數,小數點,小數三部分組成。整數部分或小數部分可以省略 例如,12.345、47.0、-.234、47.指數形式的實數:由尾數,字母e/E,小數點組成 例如.2e3、1.2e-3(3)字元常量‘0’-48 ‘A’-65 ‘a’-97\n 換行 -10\t 水平製表 -9\b 退格 -8\r 斷行符號 -13\f 換頁 -12\\ 反斜線“\” -92\’ 單引號 -39\“ 雙引號 -34\ddd 1到3位8進位數所代表的字元 最多截取斜杠後面3位八位元\xhh 1到2位16進位數所代表的字元 最多截取斜杠x後面2位16進位數(4)枚舉常量一般定義整型常量,不加值預設從0開始計數,依次加1,從設定值開始,從值依次加1enum weekday{ monday, tuesday, wednesday = 11, thursday, friday, saturday = 33, sunday }; int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); printf("%d%d%d%d%d%d%d",monday,tuesday,wednesday,thursday,friday,saturday,sunday); }}(5)宏定義 不能加分號(6)零值 即ASCII碼值為0的字元(7)空值 數字0,\0, 指標NULL(8)const常量作用: (1)修飾一般變數,可以把變數變成常量符號(2)修飾指標變數 2.指標,一個16進位的地址取地址符:& %p:以16進位地址列印取出地址的數值 :*指標變數的一般形式類型標識符 *指標變數名 int a =100; int *nA = &a; 必須使用同類型的變數儲存同類型的變數地址如果初始化不賦值,需要初始化為NULL char * 字串變數const char * 字串常量 3.const修飾指標(1)const int *p 能改變p儲存的地址,但是不可以改變儲存的地址中的資料(2)int const *p 效果同(1)(3)int *const p; 定義時必須初始化,不能改變地址,但可以改變儲存地址中的資料(4)const int *const p; 既不能改變p儲存的地址,也不可以改變儲存的地址中的資料,定義時必須初始化 4.static靜態變數(1)修飾局部變數,第一次調用時開闢記憶體空間,調用完後不回收記憶體,保留之前的資料,再次調用不會重新開闢記憶體和初始化(2)靜態全域變數,全域變數可以被外部檔案訪問,靜態全域變數只能被本檔案使用 5.extern關鍵字使用(1)聲明變數的關鍵字條件先行編譯:只編譯其中的一個條件,另一個不編譯#if#else#endif