標籤:筆記 網路編程
1.常量分類
(1)整型常量 只有10進位有正負整數
%d 十進位預留位置 以10進位方式列印整型常量
%o 八進位預留位置 以8進位方式列印整型常量
%x 十六進位預留位置 以16進位方式列印整型常量
10進位整型書寫 23
8進位整型書寫 0開頭 023
16進位整型書寫 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,從設定值開始,從值依次加1
enum 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
iOS網路編程——Day3 (C語言補充)