首页 > 代码库 > C++ 浅谈 strlen 与 sizeof的区别
C++ 浅谈 strlen 与 sizeof的区别
先举个栗子:
字符串数组跟字符串指针,然后分别使用sizeof跟strlen看输出结果。
char strA[] = "2017-7-19";
char *strB = "23333";
cout <<sizeof(a)<<ends<<sizeof(b)<<endl;
以上输出 10 4;
a字符串数组长度为10,因为其包含了结束符‘\0‘;
b字符串指针的长度是4,(32位机子下指针长度都是4,其他类型一致,无论指向多长的字符串)
倘若想测试最后一位是不是,循环到最后一位并且做个判断是不是‘\0‘即可。
cout <<strlen(a)<<ends<<strlen(b)<<endl; 【注意这里strlen的参数是char的类型】
以上输出 9 5;
strlen实际返回的是字符串的长度,即原本字符串数组中保存的数据长度/字符串指针中保存的数据长度。
C++ 浅谈 strlen 与 sizeof的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。