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;
}