sizeof运算符和strlen函数的区别
1、sizeof是运算符,而strlen是函数。
2、sizeof操作符的运算结果为size_t,他在头文件中的typedef为unsigned int。该类型保证能容纳所操作对象的最大字节大小。
3、sizeof可以用类型做参数,而strlen只能用char*做参数,且必须是以‘\0’结尾。
4、数组做sizeof参数不退化,而做strlen就退化成指针。
5、大部分编译程序在编译的时候就把sizeof处理过了,这就是sizeof(x)可以用来作为数组空间大小的原因。
char str[20]=“0123456789”;
a=strlen(str); // a=10,运行时确定
b=sizeof(str); //b=20,编译时确定,计算str数组的最大空间。
6 、 sizeof后面如果是类型则必须加括号,如果是变量名则可以不用加。
如: char c ;
sizeof c;// c为变量名则不用加括号
7、sizeof运算符不适用于计算对象是动态分配的空间以及外部数组。
sizeof运算符和strlen函数的区别的更多相关文章
- sizeof运算符和strlen()函数
首先放上代码和运行结果.(在VC6.0上运行) #include<stdio.h> #include<string.h> int main(void) { char s1[]= ...
- C++ sizeof操作符的用法和strlen函数的区别
摘要:本人首先介绍了C++中sizeof操作符的用法和注意事项,其次对比了和strlen的区别和使用,方便大家在写代码的时候查阅,和面试.笔试的时候复习. 目录: sizeof的用法: sizeof和 ...
- C++中sizeof操作符与strlen函数
sizeof操作符: sizeof是一个操作符,返回一条表达式或一个类型名字所占的字节数.返回值一个常量表达式,类型为size_t. size_t sizeof(type) size_t sizeof ...
- sizeof运算符、malloc函数及free函数
一.sizeof运算符的用法 1.sizeof运算符给出某个类型或变量在内存中所占据的字节数. int a; sizeof(a)=4; //sizeof(int)=4; double b; si ...
- sizeof运算符、虚函数、虚继承考点(待修改)
参考: http://blog.csdn.net/wangyangkobe/article/details/5951248 下面的文章解释有错误,不要看.......... 记住几句话: 编译器为每个 ...
- sizeof和strlen函数区别
一.sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组.指针.类型.对象.函数等. 它的功能是:获得保 ...
- strcpy,strlen, strcat, strcmp函数,strlen函数和sizeof的区别
//计算字符串实际长度 //strlen()函数:当遇到'\0'时,计算结束,'\0'不计入长度之内,如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到'\0 ...
- 说明sizeof和strlen之间的区别。
解析:由以下几个例子我们说明sizeof和strlen之间的区别.第1个例子: sizeof(ss)结果为4,ss是指向字符串常量的字符指针.sizeof(*ss)结果为1,*ss是第一个字符.第2个 ...
- c语言之sizeof总结+strlen函数
一.sizeof的概念 Sizeof是C语言的一种单目操作符,如C语言的其他操作符++.–等.它并不是函数.Sizeof操作符以字节形式给出了其操作数的存储大小.操作数可以是一个表达式或括在括号内的类 ...
随机推荐
- 开发Portlet第二步:如何将Crystal静态Portlet转变成基于测试数据的动态Portlet?
当基于Crystal的静态Portlet开发完成后,在与后台服务联调前,还需要将Portlet转换成基于测试数据的动态Portlet.具体步骤如下: 分步指南 复制Portlet项目,并修改相关的po ...
- Redis开启持久化
配置appendonly 打开redis.conf找到appendonly. 将 appendonly no 改为 appendonly yes 配置appendfsync appendfsync a ...
- Oracle 使用小计(4)
1.oracle字符串分割函数split )定义split_type类型: CREATE OR REPLACE TYPE split_type IS TABLE OF VARCHAR2 (4000) ...
- 简单验证码识别(matlab)
简单验证码识别(matlab) 验证码识别, matlab 昨天晚上一个朋友给我发了一些验证码的图片,希望能有一个自动识别的程序. 1474529971027.jpg 我看了看这些样本,发现都是很规则 ...
- 向Web开发人员推荐12款优秀的 Twitter Bootstrap 组件和工具
http://www.cnblogs.com/lhb25/archive/2012/09/11/resources-that-complement-twitter-bootstrap.html
- BZOJ3161 : 孤舟蓑笠翁
显然求出每个点到所有关键点的最短路和次短路即可,答案就是每个关键点的次短路. 设$f[i][j][0]$表示左手在$i$,右手在$j$的解,$f[i][j][1]$表示左手在$i$,右手在$j$,且左 ...
- 如何提升 service 等级,不被kill(整合)
(1)在应用退到后台后,另起一个只有1像素的页面停留在桌面上,让自己保持前台状态,保护自己不被后台清理工具杀死. (2)用Foreground Service. 参考地址:Android Servic ...
- Coder-Strike 2014 - Round 1 E. E-mail Addresses
此题题意就是匹配邮箱,提交时一直在test 14上WA,看了测试用例之后才发现计数用的int溢出,要用long long还是做题经验不够,导致此题未能通过,以后一定要考虑数据量大小 题意是找出邮件地址 ...
- HDU 4503 湫湫系列故事——植树节(单色三角形)
题目链接 #include <cstdio> using namespace std; int main() { int n,sum,a,t,i; scanf("%d" ...
- /var文件系统
/var文件系统 /var 包括系统一般运行时要改变的数据.每个系统是特定的,即不通过网络与其他计算机共享. /var/catman 当要求格式化时的man页的cache.man页的源文件 ...