1.1
算術型別
型別最小儲存空間(位)
bool
1char
8wchar_t
16short
16int
16long
32float
6位有效數字
double
10位有效數字
long double
10位有效數字
1.2
常量
不能修改的值成為常量。
1.3
變數
與常量相反,是可以修改的值。
1.4
引用
引用主要用於函式的形參。引用必須用與該引用同型別的物件初始化。
1.4.1
引用是別名,所有針對引用的操作實際上都是作用在該引用的繫結物件上。引用一旦繫結物件後,不能再繫結到其他物件。
1.4.2
const
引用const
引用是指向
const
物件的引用。
eg:const
int ival = 1024;
const
int& refval1 = ival;//ok
int&
refval2 = ival;
//error
1.5
const限定符
const
可以用來定義常量。
1.6
typedef
用來定義型別的同義詞:
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.9
c風格字串
1.9.1
c風格字串的使用
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
個未初始化的
intint *pia2 = new int[10]();//
所有元素初始化為03.
const
物件的動態陣列
必須為這個陣列提供初始化;因為每個陣列元素都是
const
物件,所以無法賦值。
eg:const int* pci_bad = new const
int[10];//error:
未初始化
const int* pci_ok = new const
int[10]();//ok:
所有元素預設初始化為
0const 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 1 char 8 wchar t 16 short 16 int 16 long 32 float 6 位有效數字 double 10 位有效數字 long double 10 位有效數字 1.2常量 不能修改的值成為常量。1.3變數 與常量相反,是可...