c语言中创建一个整数数组_C语言中常见的数组形式及其使用方法
c语言中常见的组成数组的形式有以下几种:指针数组:如 int a[7],c语言自带,使用简单,功能也最简单,适合存储一般的数据。本质上是指针。vector数组:需要包含头文件vector,类似于指针型数组,但是比指针型数组多了很多功能。本质为一个类,其各种功能的实现依赖于类的成员函数。Qvector数组:Qvector是qt中一种常见的容器,功能比vector更多eigen数组:eigen是值得一
c语言中常见的组成数组的形式有以下几种:
- 指针数组:如 int a[7],c语言自带,使用简单,功能也最简单,适合存储一般的数据。本质上是指针。
- vector数组:需要包含头文件vector,类似于指针型数组,但是比指针型数组多了很多功能。本质为一个类,其各种功能的实现依赖于类的成员函数。
- Qvector数组:Qvector是qt中一种常见的容器,功能比vector更多
- eigen数组:eigen是
值得一提的是,它们的序号均从0开始。
指针型数组使用指南
定义方式
int a[7]= {0,0,0,1,0,0,0};
依次说明了数组的数据类型、数组名、数组长度并定义了数组内的数据。这里用的是花括号{}。
取出和存入数据
a[0] = 1;
int a1 = a[1];
注意,这里使用的都是方括号[].
多维数组的定义
int b[2][2]= {{0,1},{2,3}};
这里,内层的花括号也可以不写,数组按照定义的长度自己进行划分
去除和存入多维数组中数据的方式和一维数组相同。
数组的复制
由于数组实际上是一个指针,数组的复制实际上是指针的复制,而不会增加一份数值。修改其中一个数组内的值时,另一个数组中的值也会改变。
int *b = a;
vector型数组使用指南
需要添加头文件及命名域
#include <vector>
using std::vector;
定义方式
vector<int> test1;//定义一个空vector,长度不限。
vector<int> test2(10);//定义一个固定长度的vector,但是不常用
vector<int> test3(10,1)//通过构造函数定义元素均相同的vector
int a[] = {1, 2, 3, 4, 5};
vector<int> test4(&a[0], &a[4]);//通过两个指针之间的元素初始化vector
取出和存入数据:同指针型数组
test1[0] = 1;
int a1 = test1[1];
复制
vector<int> test11(test1);
vector<int> test12(test1.begin(),test1.begin()+3);//复制构造函数进行复制
vector<int> test13;
test13 = test1; //等号复制
其他常见用法
int length1 = test1.size();//获得数组的长度
test1.insert(test1.begin()+3,3)//在数组第4位插入元素,使插入元素成为第3位
test1.erase(test1.begin()+3)//删除第4位的元素
test1.erase(test1.begin()+3,test1.begin()+5)//删除第4到6位的元素
test1.push_back(5);//在test的最后添加一个元素
注意数组访问和其他操作不要越界。
https://blog.csdn.net/wkq0825/article/details/82255984blog.csdn.netQvector型数组使用指南
需要包含头文件
#include<QVector>
定义方式,使用方法、复制等和vector一致
其他常见用法:相关函数名称不太一样
test1.append(5);//在test的最后添加一个元素
test1.prepend(5);//在test的开头添加一个元素
test1.insert(5,6);//在序号为5的位置插入元素6
test1.remove(5);//移除序号为5的元素
test1.pop_back();//删除最后一个元素
test1.pop_front();//删除第一个元素
test1.replace(5,8);//将序号为5的元素的值替换为8
test1.count(); test1.length(); test1.size();//获得数组长度
eigen型数组使用指南
eigen库是c++的一个外部库,需要自行下载并设置include路径。主要用于向量和矩阵的运算。eigen库是一个用于数学运算的矩阵库,程序用于数学运算时,一般要使用这个库来定义。
#include <Eigen/Dense>
using namespace Eigen
定义方式
Vector2d a;Vector3d b; Vector4d c(1,2,3,4);//定义固定长度的向量,234表示长度,d表示数据类型
VectorXf d;//定义浮动长度的向量,f为数据类型
VectorXf f(5);//定义长度为5的向量
MatrixXf e;//定义浮动长度的矩阵,可将其行或列设置为1,等同于向量(一般不这么用)
取出和存入数据:一般使用()操作符
https://blog.csdn.net/yxpandjay/article/details/80587916blog.csdn.net Eigen库使用指南www.jianshu.com以上使用中需要注意,如果无法通过[]操作符进行运算且报错"index out of range",可能是由于,非固定长度的数组使用时,如果要增加长度并赋值,需要先使用append等函数,之后才可以对对应长度使用[]访问;
更多推荐
所有评论(0)