1、定義
儲存多個同型別的值。
int a[5];——是int陣列,而不是陣列
5——整型常數、const值(變數)、常量表示式
const
int n =5;
char a[n]=;
cout << a;
2、初始化
定義陣列時,才能初始化。
兩種方式:
列表{} ,對於字串可以不用{}
下標賦值
//列表
int a[10]
=;//字元
char a=
"asd asd"
;//下標賦值
int a[5]
=4;
特殊情況
int a[10]
=;//剩餘預設初始化為0
int b[5]
=;//全零的陣列
3、注意
編譯器不會檢查下標是否有效,有問題不會報錯
4、 陣列分類
字元型陣列——char陣列
//以字元的形式初始化——陣列
char str[10]
=;//12
//以字串的形式初始化——不僅是陣列,更是字串
char str_array[10]
=;//jiang,可以不加{}
非字元型陣列——int、double陣列等
1
int a[10]
=;2 cout << a /按16進製制輸出a的值(位址
1、定義
記憶體的連續位元組中的字元。
(連續位元組就可以, 不用在位元組裡面也要是連續的)
a、字元——【(字母、數字、標點和空白字元)】
b、字串中的空格算乙個字元。
空白字元:空格、(tab)和回車(enter)。
2、c++處理字串的方式
char陣列(其他的非字元型陣列不行)
string類
1、聯絡
記憶體中連續位元組的字元,意味著可以,以char陣列的形式儲存。
【非字元型陣列(int型別)無法儲存,因為不是字串】
非字元型陣列——不加引號
是陣列,但不是字串
int a[10]
=;
字元型陣列——單引號或者雙引號
char str[10]
=;//12——char陣列但不是字串
char str_2[10]
=;//12——字串
char str_3[10]
=;//字串常量
char a=
"asd asd"
;//字串常量另一種表達形式
2、char陣列處理字串的兩種形式
//沒有'\0',就僅僅是char陣列
char a[10]
=;//字串
//主流表示法,自動補充\0
char b[10]
=;//字串常量(和上面不一樣)
char c[10]
="ab"
;//字串常量
每個字串在記憶體中都占用一段連續的儲存空間,並有唯一確定的首位址。
(記憶體中連續位元組的字元,並且有唯一的首位址)
1、字元指標
將字串的首位址賦值給字元指標,可讓字元指標指向乙個字串。
char
*ptr =
"hello"
;
陣列的變數名就是陣列的首位址
p =
&p[0]p[
0]=*p
指標 陣列 字串 結構體之間的聯絡
1 指標操作變數 int p 定義乙個整形指標 p代表的是位址,p代表的是位址指向的值 int a 10 p a 將a的位址賦值給p指標 pa 20 通過指標改變變數a的值 a 20 也可以通過變數改變 p的值 2 指標運算元組 int i,b 30,a 0 i int p a 陣列名代表陣列的首位...
指標和字串之間的聯絡
c語言中沒有string基本資料型別 c語言裡有這個標頭檔案,所以就想當然的認為c語言裡有string這個型別,通過下面這種形式來宣告string的變數string astring 編譯失敗。原來c語言裡壓根就沒有string這個型別,所以字串都是通過char陣列來儲存的,而這個標頭檔案裡宣告的函式...
指標和字串之間的聯絡
紅塵 網 wap.zuxs.net c語言中沒有string基本資料型別 c語言裡有這個標頭檔案,所以就想當然的認為c語言裡有string這個型別,通過下面這種形式來宣告string的變數string astring 編譯失敗。原來c語言裡壓根就沒有string這個型別,所以字串都是通過char陣列...