sizeof和strlen区别与不同
来源:互联网 发布:centos twisted 安装 编辑:程序博客网 时间:2024/05/16 14:52
sizeof是一个操作符关键字,返回的结果为 size_t (typedef unsigned int size_t;)
sizeof的参数可以是数据类型,也可以是变量,无论是变量还是数据类型,都会转化为数据类型作为参数,因为在C语言中变量是有类型的。
发生在编译时候就计算出了sizeof结果
sizeof计算的是数据类型占内存的大小
数组做sizeof参数不退化。
char a[5]
int b[5]
sizeof(a) sizeof(b) ,这时候的参数不是作为指针传递,故为不退化
sizeof(a)结果为5,因为char类型为1
sizeof(b)结果为10或者20,因为int类型在16位机器(2个字节),32位机器(4个字节)下不同
即不同字长度的机器上整型数据的长度。
指针变量的长度和其指向的数据类型没有关系,而与机器位数有关系,16位机器就是2个字节,32位机器就是4个字节
strlen是库函数 返回的结果为 size_t (typedef unsigned int size_t;)
strlen只能以结尾为'\0'的字符串做参数
strlen是必须运行时才能计算出来
strlen是计算字符串的实际长度,不包括'\0'
strlen就会退化为指针。
sizeof的参数可以是数据类型,也可以是变量,无论是变量还是数据类型,都会转化为数据类型作为参数,因为在C语言中变量是有类型的。
发生在编译时候就计算出了sizeof结果
sizeof计算的是数据类型占内存的大小
数组做sizeof参数不退化。
char a[5]
int b[5]
sizeof(a) sizeof(b) ,这时候的参数不是作为指针传递,故为不退化
sizeof(a)结果为5,因为char类型为1
sizeof(b)结果为10或者20,因为int类型在16位机器(2个字节),32位机器(4个字节)下不同
即不同字长度的机器上整型数据的长度。
指针变量的长度和其指向的数据类型没有关系,而与机器位数有关系,16位机器就是2个字节,32位机器就是4个字节
strlen是库函数 返回的结果为 size_t (typedef unsigned int size_t;)
strlen只能以结尾为'\0'的字符串做参数
strlen是必须运行时才能计算出来
strlen是计算字符串的实际长度,不包括'\0'
strlen就会退化为指针。
0 0
- sizeof和strlen区别与不同
- sizeof与strlen的区别和不同
- sizeof 与 strlen 不同
- sizeof和strlen的区别与联系
- strlen 和 sizeof的区别与解析
- sizeof()和strlen()的区别与联系
- sizeof与strlen的区别和联系
- strlen与sizeof的区别和用法
- sizeof和strlen的使用与区别
- sizeof和strlen区别与联系
- strlen与sizeof区别
- sizeof与strlen区别
- strlen与sizeof区别
- strlen() 与 sizeof() 区别
- sizeof与strlen区别
- strlen与sizeof区别
- strlen与sizeof区别
- sizeof与strlen区别
- Matlab定义子函数
- Android高效显示图片详解(一)
- ps、grep和kill联合使用杀掉进程
- NodeJs学习笔记一(ubuntu下环境搭建)
- 28日晚间的一则消息让很多业内人士大呼“看不懂”
- sizeof和strlen区别与不同
- 架构师速成5.2-如何掌握综合性技能
- Android Studio 视图解析
- matlab中各种距离计算方式
- 阿里云部署java环境
- HTTP_X_FORWARDED_FOR 和 REMOTE_ADDR的使用 php
- mysql 中 unix_timestamp和from_unixtime 时间戳函数
- 网狐框架分析七--完整游戏流程 150624
- 关于"ORA-00942 表或视图不存在" 问题的解决方法