概述
目录
一、字符数组
1、推荐方法 strlen()
2、sizeof()
3、end()-begin()
二、未指定长度数组
1、推荐方法 sizeof
2、end()-begin()
三、综上所述
1、实际运用
2、方便用法
一、字符数组
1、推荐方法 strlen()
对于字符数组 char c[] = "12345",最好是使用strlen()
char c[] = "12345";
char d[10] = "678";
cout << "strlen c = " << strlen(c) << endl;
cout << "strlen d = " << strlen(d) << endl;
输出:5
3
2、sizeof()
sizeof() 求出的是数组占用的空间长度,而不是实际元素个数
如果定义数组时,未指定空间长度,则放入元素时自动申请空间,元素个数 = 数组长度
但是在字符数组中,末尾有一个‘/0’结束符,
char c[] = "12345";
char d[10] = "678";
cout << "sizeof c = " << sizeof(c) / sizeof(c[0]) << endl;
cout << "sizeof d = " << sizeof(d) / sizeof(d[0]) << endl;
输出:6
10
3、end()-begin()
结果和sizeof 相同
char c[] = "12345";
char d[10] = "678";
cout << "end-begin c = " << end(c) - begin(c) << endl;
cout << "end-begin d = " << end(d) - begin(d) << endl;
输出:6
10
二、未指定长度数组
1、推荐方法 sizeof
sizeof() 求出的是数组占用的空间长度,而不是实际元素个数
如果定义数组时,未指定空间长度,则放入元素时自动申请空间,元素个数 = 数组长度
int a[] = { 1,2,3,4,5 };
int b[10] = { 6,7,8 };
cout << "sizeof a = " << sizeof(a) / sizeof(a[0]) << endl;
cout << "sizeof b = " << sizeof(b) / sizeof(b[0]) << endl;
输出:5
10
2、end()-begin()
结果和sizeof 相同
int a[] = { 1,2,3,4,5 };
int b[10] = { 6,7,8 };
cout << "end-begin a = " << end(a) - begin(a) << endl;
cout << "end-begin b = " << end(b) - begin(b) << endl;
输出:5
10
三、综上所述
1、实际运用
在实际项目中,应该避免这一操作,通常是在结构体中新建一个成员,用来记录数组中的元素个数
例:通讯录管理系统
#define MAX 1000; //通讯录的最大容量
struct Person //联系人结构体
{
string name;
string telephone;
}
struct AddressBook //通讯录结构体
{
Person personArray[MAX];
int size ;
}
int main()
{
AddressBook abs; //实例化一个AddessBook结构变量
abs.size = 0;
}
2、方便用法
实在需要求数组长度的话,最为方便的方法就是下面这种 ,创建数组时千万不要指定数组长度
int a[] = {1, 2, 3};
length = sizeof(a) / sizeof(a[0]);
最后
以上就是直率薯片为你收集整理的C++学习心得:求数组的元素个数的全部内容,希望文章能够帮你解决C++学习心得:求数组的元素个数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复