C++求解数组长度的方法(包含求解vector和字符串求解的方法)

2023-12-30 20:13:45

对于一个C++的初学者,在如何求解数组长度问题上可能会稍有混乱,因为求解长度的方法有很多,比如size()、length()、sizeof()等函数,今天我就和大家一起学习如何求解数组长度,并探讨size()、length()、sizeof()这三个函数的用法与区别。

1.sizeof()函数

首先解答如何求解数组长度这个问题,大家应当使用sizeof()函数。sizeof()函数的功能是确定数据类型或变量在内存中所占的字节数。举个例子:

#include<iostream>
#include<cstddef>
using namespace std;
int main(void) {
	int a[5] = { 1,2,3,4,5 };
	cout << "int类型的字节数为:" << sizeof(int) << endl;
	cout << "数组a的总字节数为:" << sizeof(a) << endl;
	cout << "数组a中每一个元素占字节数为:" << sizeof(a[0]) << endl;
	cout << "数组a的长度为:" << sizeof(a)/ sizeof(a[0]) << endl;      //求解数组a的长度
}

运行后得到的结果是:

?可以看到,使用sizeof(a)/ sizeof(a[0])的方法就可以求出数组的长度。

2.size()函数

size()函数可以求解字符串长度以及vector类型的长度,但是不可以求解数组的长度。举个例子:

#include<iostream>
#include<vector>
using namespace std;
int main(void) {
	vector<int>b;
	string str = "abcabc";
	for (int i = 0; i < 10; i++) {
		b.push_back(i);
	}	
	cout << "b的长度为:" << b.size() << endl;      //求解b的长度
	cout << "str的长度为:" << str.size() << endl;      //求解str的长度
}

结果如下:

?可以看到使用size()函数可以轻松求解出字符串长度以及vector类型的长度,但是若对数组使用size()函数,将会报错,大家可以自行尝试,我就不做演示了。

3.length()函数

length()函数只用于求解字符串长度,举个例子:

#include<iostream>
using namespace std;
int main(void) {
	string str = "abcabc";
	cout << "str的长度为:" << str.length() << endl;      //求解str的长度
}

若将string修改为数组,将会报错,如下图所示:

文章来源:https://blog.csdn.net/shnhe/article/details/135243381
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。