关于数据类型与指针的小笔记--初始化问题&&数组
2015-11-16 10:16
627 查看
1.再一次加强对int * a[] 和int (* a)[]的理解与温习,多次之后便能够理解指针的奥妙。
2.看指针表达式时依据从右到左看或者从内到外依据运算符[]>*的优先级会很清晰。
3.利用&a[a.size]可以获得数组的尾后元素指针,但是此位置并不在数组内,因此不可以对其进行街引用或者其他相关操作。
4.C++中没有多维数组,其实是数组的数组。如:
5.如果表达式含有的下标和数组的维数一样多,则返回的是数组的元素,否则返回的是给定索引处的一个内层数组。
6.定义变量时,如果是内置类型如int等在函数外定义会自动初始化为0,在函数内(包括main函数)定义则不会初始化。如下代码:
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; }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中调用C++函数示例
- Lua实现split函数
- Lua常用时间函数使用实例
- Lua函数与字符串处理简明总结