c++数组的基础知识
2021/7/8 17:09:48
本文主要是介绍c++数组的基础知识,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
定义和初始化数组
int a[5]; //定义数组是基本形式 int a[]={1,2,3}; //可以在定义时,直接初始化 int a[5]={1,2,3} //定义时初始化数组,如果指定了数组大小,那么提供初始化的元素的个数只可以比数组指定的个数少,本可以多,没有初始化的位置,会默认初始化,
对于字符数组,我们要记住一定要留一个位置存放结束符‘\0’,而且数组是不允许拷贝赋值的。数组的元素应为对象,因此不存在引用的数组
理解复杂的数组声明
- 数组的指针或数组的引用
- 存放指针的数组,没有存放引用的数组。
#include<iostream> using namespace std; int main() { int num[5] = { 1,2,3,4,5 }; int(*num_pointer)[5] = # // 数组的指针 /* num_pointer ⇒ &num 表示一个数组的首地址, 步长为一个整个数组大小 *num_pointer => num 表示数组第一个元素地址, 步长为一个数组元素的大小。 **/ cout << "num的值:" << num<<endl; cout << "&num的值:"<<&num << endl; cout << num_pointer << " " << *num_pointer << endl; cout << **num_pointer << " " << *((*num_pointer) + 1) << endl; int (&num_quote)[5] = num; //数组的引用 cout << num_quote[0] << endl; char* str[2] = {"Hello", "world"}; // 存放指针的数组 cout << str[0] << endl; system("pause"); return 0; }
输出结果:
指针和数组
使用数组的时候,编译器一般会把它转换成为指针。在一些情况下对数组的操作,其实就是对指针的操作。
int num[5] = { 1,2,3,4,5 }; auto num1 = num; //num存放的是数组的第一个元素的地址,所以num1的类型是一个指针 cout << "num1的类型是:" << typeid(num1).name() << endl;
输出结果:
- begin函数获取数组的首地址
- end函数获取数组尾元素的下一个地址
内置的下标运算符所用的索引值是有符号数, 这一点和vector 和 string 不一样。下标和指针关系如下:
a[i] == > *(a + i)
这篇关于c++数组的基础知识的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28pyqt 怎么打包整个项目-icode9专业技术文章分享
- 2024-09-28laravel Commands 创建带有参数的 Artisan 命令的步骤和示例-icode9专业技术文章分享
- 2024-09-28antd怎么实现渲染tiff图片-icode9专业技术文章分享
- 2024-09-28英文半角中划线和中文全角的中划线有什么区别-icode9专业技术文章分享
- 2024-09-28nvm npm 和node 他们之间有什么关系-icode9专业技术文章分享
- 2024-09-28Node Version Manager (nvm)使用教程-icode9专业技术文章分享
- 2024-09-28nvm命令太慢,是什么原因-icode9专业技术文章分享
- 2024-09-28Kotlin 如何增加、删除和修改 MutableStateFlow 中的值。-icode9专业技术文章分享
- 2024-09-28Kotlin的stateFlow.update 写法介绍-icode9专业技术文章分享
- 2024-09-28kotlin 怎么获取当前时间格式-icode9专业技术文章分享