栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++学习笔记 之 数组使用注意事项(持续补充ing)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++学习笔记 之 数组使用注意事项(持续补充ing)

我是目录
    • ① 在不知道数组长度时,想要声明数组
    • ② 数组名相当于指针常量(即 type * const)
    • ③ 数据名在作为函数的参数时将失去其数据结构内涵

① 在不知道数组长度时,想要声明数组

(例如想要通过外部输入设定数组长度),此时需要通过指针来进行。即声明一个指向数组元素类型的指针,然后后续通过new来分配地址赋值给该指针。

class myClass
{
	int *p;
	void setLength(int n)
	{
		p = new int [n];
	}
}

方法特点:
此时还是能够通过 p[idx]访问或修改元素,与数组名类似。但是与数组名不同的是此时对 p 应用sizeof得到的是指针的长度(字节数),而对数组名应用sizeof得到的是整个数组的字节数。所以数组名与首元素的指针并不能完全划等号,尽管数组名很多时候可以当指针用。

② 数组名相当于指针常量(即 type * const)

指针常量的特点就是: 不能改变其指向,可以通过其改变指向的值,但不能改变指向,即不能把别的地址赋给它,也不能自增或自减

③ 数据名在作为函数的参数时将失去其数据结构内涵

数组名作为函数参数时,在函数内部等同于一个普通指针

void fun(int arr[])
{
	cout< 

上面代码输出为 8(指针在32位系统下大小为4字节,64位环境下为8字节),并非 整个数组的内存大小,即80

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/676491.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号