C++笔记(数组)
来源:互联网 发布:短线软件 编辑:程序博客网 时间:2024/06/05 05:24
1、数组下标:
(1)在定义时必须明确。
①只能用正整数或const常量,静态或全局变量不可以;
②(特) 在new时可以用变量做下标。
(2)在初始化时:
①一维数组,可略;
②二维数组,其一维可略,二维不能略。
(3)在作参数时:
①一维数组,略;(写了也被略去)
②二维数组,一维略,二维不能略。
2、下标与初始化元素:
(1)下标省略的,每个元素都应写出;
(2)下标明确的,可只写前面部分元素,后面的按默认值:
①全局数组、静态数组,默认值为0;
②局部数组,默认值不确定。
(3)元素之间不可以用逗号跳过。
3、字符数组:
(1)字符数组=字符串
(2)其末尾字符为' /0 '
(3)其长度=有效字符数+1,在定义字符数组长度时切记。
(4)初始化方法
① char arr[6] = {"hello"};
② char arr[6] = "hello"; //与第①种相同,一般使用这一个
③ char arr[6] = {'h','e','l','l','o','/0'}; //主要在特殊字符时使用
4、二维数组初始化:
(1)二维数组中,第1维表示行,第2维表示列。
(2)初始化时,可以每行使用1个{},比如int arr[][3]={{1,2,3},{4,5,6}};
也可以只使用1个{},比如int arr[][3]={1,2,3,4,5,6}; 与上面句子等效。
5、要定义很大的数组时,应建立全局或静态类型的数组。因为局部数组使用栈区,大数组会导致栈溢出。
6、数组长度计算:
(1)sizeof
方法:sizeof(数组名)/ sizeof(数组类型名)
说明:数组占用字节除以数组类型所占字节,结果为数组元素个数
(2)strlen
说明:strlen,求字符串有效长度
方法:strlen(字符数组名) //结果为字符数组有效字符长度,不包括末尾的' /0'
注意:
当数组作为函数参数传递时,数组名代表的是数组的首址,而非数组内容,故无法使用sizeof和strlen;
同时,在传址时,应提供2个参数:1个是数组名,代表数组首地址;1个是数组元素个数,以便确定传递的次数。
7、数组相当于指针——常量指针。
(1)对于指向数组的指针的定义,与指向普通变量的指针定义不同:
int a=20;
int p = &a; //对普通变量定义时,前面要加上&
int b[20];
int pi = b; //对数组定义时,前面不用加&:因为数组本身相当于指针
(2)对于int *p = a[3]来说,a,&a,&a[0]等价,都是数组a的首元素地址。
8、数组是常量,不可修改:如对于数组a[2]来说,a++,++a,a--,--a,a+=3,a-=6等操作都是不允许的。
- C#-字符数组(笔记)
- C语言学习笔记(八)--数组
- c++primer学习笔记(4.1)数组
- C复习笔记(数组的使用)
- C复习笔记(字符数组)
- C语言学习笔记(四)数组
- C语言 数组(笔记)
- C学习笔记(十一)数组认知
- C语言数组笔记
- c笔记06---数组
- C++Primer笔记--数组
- 【笔记-C语言】 数组
- C二维数组与字符数组 笔记
- C语言学习笔记<数组>
- C语言学习笔记:数组
- c 语言 笔记 函数 数组
- 009-数组-C语言笔记
- c++primer笔记--3.5数组
- HttpModule是如何工作的
- 非常好的web2.0
- dll占的究竟是谁的空间?——浅谈Windows内存机制
- 笔记,项目环境搭建。
- 删除文件名中带空格的文件
- C++笔记(数组)
- SQL各种写法的效率问题
- (转载)有用的投行法则,有用的人生真谛
- 正则表达式基础知识
- FileUpload上传组件在ASP.net中最简单的运用示例
- javaScript 中使用 jstl
- Oracle服务费是如何计算的?
- javascript 操作表
- asp.net 设置页面不被缓存