C 基礎 1 變數 常量和基本型別

2022-04-15 04:11:05 字數 3118 閱讀 2711

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變數 與常量相反,是可...