c++数组的基础知识
来源:互联网 发布:博途v12软件下载 编辑:程序博客网 时间:2024/05/21 00:46
数据是一个类似于标准库类型vector的数据结构,定义数组时必须指定数组的类型,同样数组的元素都是具体的对象,因此不存在引用的数组。
定义和初始化数组
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是一个指向一个含有10个整型的数组, 因为num存放的就是数组的首地址,其数据类型为:int * 所以我们知道*num_pointer输出的值就是num的值, 而&num在c++中定义为一个数组指针,它也是返回num的值,但是数据类型是:int (*) [5] 所以需要理解num_pointer的数据类型为:int (*) [5]; **/ 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; //num_quote引用一个含有10个整型的数组,其实它就是数组num的别名 cout << num_quote[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;
输出结果:
多维数组
本质上来说,c++语言中没有多维数组,通常所说的多维数组其实是数组的数组
0 0
- c/c++数组与sizeof的基础知识
- c/c++数组与sizeof的基础知识
- C语言数组基础知识
- 【C#】基础知识—数组
- C 数组基础知识分析
- C基础知识--指针与数组
- 数组的基础知识
- c++数组的基础知识
- 二维数组的基础知识
- 学ios需要了解的C语言基础知识-6-维数组二维数组啥
- C语言基础知识学习(数组)
- C语言基础知识学习(数组)
- C语言的基础知识
- C语言的基础知识
- c~c++的基础知识
- 【c++】c++的基础知识
- C语言的基础知识
- C语言的基础知识
- GIT命令整理
- POJ 3517 找规律、递推
- 解决内存溢出问题:java.lang.OutOfMemoryError
- [leetcode] 105. Construct Binary Tree from Preorder and Inorder Traversal
- 不要再退缩再浪费
- c++数组的基础知识
- [leetcode] 200. Number of Islands
- 占位
- 占位
- 占位
- 占位
- 占位
- 占位
- 占位