进行一个C++的学(07-数组

本文探讨了C++中的数组,强调数组的固定大小和不能动态增加元素的特点。介绍了指针和数组的关系,特别是C++11引入的`begin()`和`end()`函数用于操作数组。此外,还详细讲解了指针运算,包括负值下标和指针间距离的计算。最后,阐述了多维数组的定义及如何通过指针操作多维数组。
摘要由CSDN通过智能技术生成

数组与容器的区别是,数组的大小确定不变,不能随意增加元素。

声明一个数组:

	int arr1[] = {1,2,3};
	const int arr2Size = 10;
	int arr2[arr2Size];

	arr2 = arr1; // 不可以,数组不允许拷贝

	char arr3[5] = "hello"; // 不可以,字符串最后会有一个\0空字符
	char arr3[6] = "hello"; 

	// 这是含有10个整型指针的数组
	int* parray[10]; 
	// 这是一个指针,指向一个含有10个整型的数组
	int(*pToArray)[10] = &arr2;
	// 这是一个引用,引用一个含有10个整型的数组
	int(&pToArray)[10] = arr2;

指针和数组

使用数组类型的对象,其实是使用一个指向该数组首元素的指针,当数组作为一个auto变量的初始值时,得到的类型是指针而非数组。

	int arr1[3] = { 1,2,3 };
	// 使用数组作为decltype初始值时返回的类型是数组
	decltype(arr1) arr2 = { 123, 123 };
	// 使用auto时推断得到的类型是指针
	auto a(arr1);
	int i = 10;
	a = &i;

数组的begin和end

C++11为数组引入了begin和end函数,将数组作为参数可以获取指向首元素的指针和指向尾元素下一位置的指针。尾后指针不能进行解引和递增操作。<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值