1.1算術型別型別
最小儲存空間(位)
bool 1
char 8
wchar_t 16
short 16
int 16
long 32
float 6
位有效數字
double 10
位有效數字
long double 10
位有效數字
1.2常量
不能修改的值成為常量。
1.3變數
與常量相反,是可以修改的值。
1.4引用
引用主要用於函式的形參。引用必須用與該引用同型別的物件初始化。
1.4.1
引用是別名,所有針對引用的操作實際上都是作用在該引用的繫結物件上。引用一旦繫結物件後,不能再繫結到其他物件。
1.4.2const引用
const引用是指向const物件的引用。
eg: const int ival = 1024;
const int& refval1 = ival; //ok
int& refval2 = ival; //error
1.5const限定符
const可以用來定義常量。
1.6typedef
用來定義型別的同義詞:
eg: typedef string stuname;
1.7陣列
1.7.1
陣列的定義和初始化
陣列的維數必須使用大於等於1的常量表示; 陣列的維數必須在方括號內定義。
1.初始化陣列元素
如果沒有顯示初始化元素,
則陣列元素會像普通變數一樣初始化:
●在函式體外定義的內建陣列,其元素初始化為0;
●在函式體內定義的內建陣列,其元素無初始化;
●不管在什麼位置,如果元素型別為類,則自動呼叫該類的預設建構函式,如果沒有預設建構函式,則必須提供顯示初始化。
2.特殊的字元陣列
使用一組字元字面值初始化字元陣列時,一定要記得新增結束字串的空字元。
eg:const char cz[6] = "daniel"; //daniel is 7 elements
3.陣列不可以直接複製或賦值
eg:int ia = ;
int ia2(ia); //error
int ia3[3];
ia3 = ia; //error
1.7.2
陣列的操作
陣列下標的正確型別為size_t。
1.8指標
1.9c風格字串
1.9.1c風格字串的使用
1.標準庫函式
strlen(s)
strcmp(s1, s2)
strcat(s1, s2)
strcpy(s1, s2)
strncat(s1, s2, n)
strncpy(s1, s2, n)
2.永遠不要忘記字串結束符null
eg:char ca = ; //沒有結束符
cout << strlen(ca) << endl; //返回的數值不正確,結果不可預料
1.9.2
建立動態陣列
1.動態陣列的定義
eg:int *pia = new int[10];
2.初始化動態分配的陣列
eg:string *psa = new string[10]; //10個未初始化的string
int *pia = new int[10]; //10個未初始化的int
int *pia2 = new int[10](); //所有元素初始化為0
3.const物件的動態陣列
必須為這個陣列提供初始化;因為每個陣列元素都是const物件,所以無法賦值。
eg:const int* pci_bad = new const int[10]; //error: 未初始化
const int* pci_ok = new const int[10](); //ok: 所有元素預設初始化為0
const string* pcs_ok = new const string[10]; //ok: 初始化10個空字串
4.允許動態分配空陣列
eg:size_t size = getsize();
int* p = new int[n];
for (int* q = p; q != p + size; q++)
/* process */
5.動態空間的釋放
動態分配的記憶體必須釋放,否則會造成記憶體洩露,耗盡資源。
eg:delete pia;
6.動態陣列的使用
1.9.3
新舊**相容
1.混合使用string標準庫和c風格字串
eg:string str = "hello";
char* cstr = str.c_str();
2.使用陣列初始化vector
eg:const size_t arr_size = 6;
int aidata[arr_size] = ;
vectorivec(aidata, aidata + arr_size);
C 基礎 1 變數 常量和基本型別
normal 07.8 磅02 false false false en us zh cn x none 1.1 算術型別 型別最小儲存空間 位 bool 1 char 8 wchar t 16 short 16 int 16 long 32 float 6 位有效數字 double 10 位有效數...
C 基礎 1 變數 常量和基本型別
1.1 算術型別 型別最小儲存空間 位 bool 1 char 8 wchar t 16 short 16 int 16 long 32 float 6 位有效數字 double 10 位有效數字 long double 10 位有效數字 1.2 常量 不能修改的值成為常量。1.3 變數 與常量相反...
C 基礎 1 變數 常量和基本型別
1.1 算術型別 型別最小儲存空間 位 bool 1char 8wchar t 16short 16int 16long 32float 6位有效數字 double 10位有效數字 long double 10位有效數字 1.2 常量 不能修改的值成為常量。1.3 變數 與常量相反,是可以修改的值。...