數組的維數必須用大於等於1的常量表達式 此常量表達式只能包含整形自面值常量,枚舉常量 或者用常量表達式初始化的整型const對象
顯示初始化數組元素
cosnt unsigned array_size =3;
int ia[array_size]={0,1,2};
int ia[]={1,2,3};
在函數體外定義的內置數組,初始化為0
在函數體外定義的內置數組 無元素初始化
不管數組在哪里定義 如果其元素類型為類類型 則自動調用改類的默認構造函數進行初始化 ,如果該類沒有默認構造函數 則必須為該數組進行顯示初始化
特殊字符數組
當使用字符串字面值來初始化創建你的新數組時,將在數組中加入空字符;
不允許數組直接復制和賦值
數組操作
int main()
{
const size_t array_size =7;
int ia1={0,1,2,3,4,5,6};
int ia2[array_size];
for(size_t ix=0; ix!=array_size; ++ix)
{
ia2[ix]=ia1[ix];
}
return 0;
}
指針
指針的定義和初始化
vector<int> * pvec;
int * ip1, * ip2;
string * pstring;
double * dp;
避免使用未初始化的指針
可以把數值0或在編譯時可獲得的0值的const量 或者null賦給指針,但是不能把int型變量賦給指針
例:輸出數組元素
cosnt size_t arr_sz=5;
int int_arr[arr_sz]={1,2,3,4,5};
for(int * pbegin=int_arr, *pend=int_arr+arr_sz;bpegin != pend; ++pbedin)
{
count<< * pbegin<<'';
}
用指針遍歷數組元素
const size_t arr_sz= 5;
int int_arr[arr_sz]={0,1,2,3,4};
for(int * pbegin=int_arr,*pend=int_arr+arr_sz;pbegin !=pend;++pbegin)
{
cout<<*pbegin<<' ';
}