字符串长度

//<!--1:sizeof()-->

//<!--**sizeof() 不能用来返回动态分配的内存空间的大小**。-->
char str[30];
gets(str);      //输入str
cout<<sizeof(str)<<endl;

//输入“Hello”,结果是30。因为sizeof() 在该段程序中的作用是计算字符数组str所占空间字节数的大小,而字符数组str在创建时,系统自动给他分配了30个空间字节

<!--2:**strlen()** 是一种函数,用于计算**字符串**的长度,(只能计算字符串),‘\0’作为终止符,返回的长度大小不包括’\0’-->

char str[30];
gets(str);
cout<<strlen(str)<<endl;
//输入“Hello”,结果是5即字符数组str的长度
string str;
cin>>str;
cout<<str.size()<<endl;
cout<<str.length()<<endl;
//输入字符串“Hello”,两个函数结果都为5

<!--sizeof(arr)/sizeof(arr[0])-->

这个表达式的意思是计算数组 arr 的大小(以字节为单位)除以数组中第一个元素的大小(以字节为单位),得到的值即为数组 arr 中元素的个数。

int arr[] = { 1,2,3,4,5,6,7,8 };
	int len = sizeof(arr) / sizeof(arr[0]);
	cout << len;
//结果8

总结:sizeof() 可以以类型、指针、数组和函数等作为参数,其值在编译时计算,用于获取操作数所占空间的字节数大小。 strlen()函数其参数只能为char(字符型指针),所以在计算字符数组(char str[ ])时,一般用strlen()函数(也只能用于计算字符数组了)。 size()函数以及length()函数都用于计算字符串(string)长度,不能用char作为参数。除此之外,size()函数还可以获取vector类型的长度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xugggg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值