關於數據類型與指針的小筆記--初始化問題&&數組

1.再一次加強對int * a[] 和int (* a)[]的理解與溫習,多次之後便能夠理解指針的奧妙。


2.看指針表達式時依據從右到左看或者從內到外依據運算符[]>*的優先級會很清晰。


3.利用&a[a.size]可以獲得數組的尾後元素指針,但是此位置並不在數組內,因此不可以對其進行街引用或者其他相關操作。


4.C++中沒有多維數組,其實是數組的數組。如:

    int a[2][3]={{1,2,3},
                {2,3,4}};//a爲大小爲2的數組,每個元素是包含3個整數的數組。

5.如果表達式含有的下標和數組的維數一樣多,則返回的是數組的元素,否則返回的是給定索引處的一個內層數組。


6.定義變量時,如果是內置類型如int等在函數外定義會自動初始化爲0,在函數內(包括main函數)定義則不會初始化。如下代碼:

string s;
int a;

int _tmain(int argc, _TCHAR* argv[])
{
    string s1;
    int a1;
//  cout<<a1<<endl;    //錯誤,輸出未初始化的變量used
    cout<<a<<endl;  //正確,輸出0
    cout<<s<<endl; //正確,爲空
    cout<<s1<<endl; //正確,雖然在函數體內,但是string不是內置類型,所以仍然可以正確運行,即仍初始化爲空。
    while(1);
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章