sizeof()为什么不能得到指针指向内容的大小
发布日期:2021-06-30 10:11:55
浏览次数:2
分类:技术文章
本文共 402 字,大约阅读时间需要 1 分钟。
首先,我们看看sizeof是什么?是一个操作符,也是关键字,就不是一个函数,这和strlen()不同,strlen()是一个函数。
那么sizeof的作用是什么?
返回一个对象或者类型所占的内存字节数。
我们会对sizeof()中的数据或者指针做运算吗?
基本不会。
例如sizeof(1+2.0),直接检测到其中类型是double,即是sizeof(double) = 8。
如果是指针,sizeof只会检测到是指针的类型,指针都是占用4个字节的空间(32位机)。
char *p = "sadasdasd";
sizeof(p):4
sizeof(*p):1//指向一个char类型的
除非使用strlen(),仅对字符串有效,直到'\0'为止了。
要是非要使用sizeof来得到指向内容的大小,就得使用数组名才行,
如char a[10];
sizeof(a):10 //检测到a是一个数组的类型。
转载地址:https://islet.blog.csdn.net/article/details/76468112 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月15日 20时23分36秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
libuv使用不当导致的内存泄漏
2019-04-30
libuv实现ping包发送和接收
2019-04-30
linux-arm编译报错m4: unrecognized option ‘--gnu‘
2019-04-30
基础架构系列篇-系统CENTOS7安装jdk8
2019-04-30
基础架构系列篇-CENTOS7安装NGINX
2019-04-30
系统运维篇-常用的LINUX指令小计
2019-04-30
基础架构系列篇-系统centos7中安装mysql8.0.23(已更新)
2019-04-30
基础架构系列篇-系统centos7中DOCKER安装REDIS(已更新)
2019-04-30
基础架构系列篇-系统centos7安装docker+COMPOSE
2019-04-30
基础架构系列篇-系统centos7中docker安装rabbitmq
2019-04-30
基础架构系列篇-NGINX部署VUE
2019-04-30
个人电商项目,基于uni-app+ springcloud +VUE技术
2019-04-30
基础架构系列篇-系统centos7安装kafka
2019-04-30
基础架构系列篇-系统centos7中docker安装分布式文件存储服务minio
2019-04-30
知识点记录-java判断系统是linux或windows
2019-04-30
知识点记录-springboot静态资源映射路径
2019-04-30
知识点记录-vue-cli+webpack打包运行图标显示异常
2019-04-30
知识点记录-springboot2.1集成rabbitmq
2019-04-30
微服务springcloud2系列篇-配置与注册nacos组件
2019-04-30