有关在不同方式的定义下字符数组求长度

简介: 有关在不同方式的定义下字符数组求长度

1.首先明白strlen和sizeof的区别



sizeof():主要负责计算数组的长度。


strlen():主要负责计算字符串的长度。


2.有关不同定义下的求字符数组所占内存的大小(以sizeof为例)


char str[]={‘b’,'i','t'};//所占三个字节(因为前面[]内没有规定具体个数的多少,所以没有自动补/0)


char str[3]={'b','i',''t};//所占三个字节(按照理论在前面标识了具体数字之后应该自动去补/0,但是由于原本数组内容已到达上限(三个字节),故数组长度为三个字节。


char str[4]="bit";//所占四个字节(按照规定,前面标识数字之后要自动补0)。


char str[]="bit"(或者{“bit”}--定义二维数组时相对常用),此时被称为以字符串类型定义字符数组,则此时需要自动补0,故其所占内存大小为4个字节;


char *str={"bit"}或者“bit”时,此时用sizeof求其大小时,所求的并不是数组内容所占字节大小,而是指针的大小(地址值的大小),在32位操作系统中为4个字节,64位操作系统中为8个字节。而在这种情况下,用strlen求其所占内存数大小时,则所求的是其具体内容所占的内存的大小。



相关文章
蓝牙HID协议笔记【转】
蓝牙HID协议笔记 转自:http://blog.sina.com.cn/s/blog_69b5d2a50101emll.html 1.概述     The Human Interface Device (HID)定义了蓝牙在人机接口设备中的协议、特征和使用规程。
4580 0
|
7月前
|
人工智能 弹性计算 自然语言处理
云工开物学习推荐 | 轻松部署满血版DeepSeek,来阿里云搭建专属大模型主页
阿里云推出高效、易用的个人AI大模型部署方案,5分钟快速搭建专属AI主页。支持70+主流模型无缝切换对比,满足多样化需求;提供灵活扩展能力,解锁无限可能;高度定制化设计,打造个性化智能品牌。两种套餐任选:热卖套餐99元/年,尝鲜套餐0.3元/小时。专属大模型主页等你创建!
|
6月前
|
人工智能 自然语言处理 运维
Qwen3 全尺寸模型支持通过阿里云PAI-ModelGallery 一键部署
Qwen3 是 Qwen 系列最新一代的大语言模型,提供了一系列密集(Dense)和混合专家(MOE)模型。目前,PAI 已经支持 Qwen3 全系列模型一键部署,用户可以通过 PAI-Model Gallery 快速开箱!
|
7月前
|
IDE 编译器 项目管理
Dev-C++保姆级安装教程:Win10/Win11环境配置+避坑指南(附下载验证)
Dev-C++ 是一款专为 Windows 系统设计的轻量级 C/C++ 集成开发环境(IDE),内置 MinGW 编译器与调试器,支持代码高亮、项目管理等功能。4.9.9 版本作为经典稳定版,适合初学者和教学使用。本文详细介绍其安装流程、配置方法、功能验证及常见问题解决,同时提供进阶技巧和扩展学习资源,帮助用户快速上手并高效开发。
|
测试技术 uml
『软件工程13』浅谈面向对象方法,统一建模语言UML
该文章介绍了面向对象方法的基本概念及其在软件工程中的应用,并详细探讨了统一建模语言(UML)的各种图示及其在系统设计中的作用。
『软件工程13』浅谈面向对象方法,统一建模语言UML
|
存储 前端开发 JavaScript
|
机器学习/深度学习 缓存 数据可视化
Streamlit入门指南
Streamlit是Python库,用于创建交互式数据科学和机器学习Web应用。它简化了定制Web应用的创建,提供内置小部件和工具进行数据展示、用户输入处理和自定义可视化。快速入门涉及安装Streamlit、导入库、定义应用并使用`streamlit run`命令运行。示例代码展示了如何创建一个显示滑块和正弦图的应用。最佳实践包括组织代码、利用缓存、优化布局以及使用内置功能。Streamlit Gallery提供了更多应用示例,如文本生成器和图像分类器。
1279 0
|
前端开发
前端学习笔记202306学习笔记第四十二天-promise-then的返回值3
前端学习笔记202306学习笔记第四十二天-promise-then的返回值3
113 0
|
搜索推荐 语音技术 Windows
探索Windows操作系统的隐藏功能
【6月更文挑战第5天】本文将揭示Windows操作系统中那些鲜为人知的隐藏功能,从提高生产力到个性化体验,我们将深入探讨这些功能如何提升用户的日常使用效率和乐趣。
292 4
|
Kubernetes 应用服务中间件 nginx
容器诊断工具之netshoot
netshoot介绍netshoot是一款开源的容器网络诊断工具,本质上是一个容器,里面默认安装了一些常用网络诊断工具,如tcpdump、netstat等,被称为网络排障瑞士军刀容器。netshoot众所周知,容器下网络空间是相互隔离的,与宿主机的网络空间也是隔离的,往往需要通过工具进入容器空间排查...
1086 0
容器诊断工具之netshoot