【C语言】深入理解指针(5)

目录

sizeof和strlen

1.sizeof

2.strlen

[3. sizeof 和 strlen 的对比](#3. sizeof 和 strlen 的对比)


sizeof和strlen

1.sizeof

  • sizeo正名:sizeof是操作符,不是函数,sizeof是操作符,括号内如果有计算不会进行计算
  • sizeof 是操作符,用于计算变量所占内存空间大小的,单位是字节,如果操作数是变量类型的话,计算的是使用变量类型创建的变量所占内存空间的大小
  • sizeof 只关注占用内存空间的大小,不在乎内存中存放什么数据

2.strlen

  • strlen 是C语言库函数,需要包含头文件#include <string.h> 功能是求字符串长度。函数原型为,统计的是 str 地址开始向后 \0 之前字符串中字符的个数。 strlen 函数会⼀直向后找 \0 字符,直到找到为止,所以可能存在越界查找。
  • 使用 "" 引号引起来的字符串末尾会补上\0
  • 使用 {} 数组括起来的字符末尾不会补上\0

3. sizeof 和 strlen 的对比

sizeof

  1. sizeof是操作符,括号内如果有计算不会进行计算
  2. sizeof计算操作数所占内存的大小, 单位是字节
  3. 不关注内存中存放什么数据

strlen

  1. strlen是库函数,使用需要包含头文件 string.h
  2. srtlen是求字符串长度的,统计的是 \0 之前字符的个数
  3. 关注内存中是否有 \0 ,如果没有 \0 ,就会持续往后找,可能会越界
相关推荐
沐知全栈开发4 分钟前
ionic 手势事件详解
开发语言
lsx20240624 分钟前
Bootstrap 按钮
开发语言
神仙别闹28 分钟前
基于 Python 实现 BERT 的情感分析模型
开发语言·python·bert
禾叙_33 分钟前
【langchain4j】结构化输出(六)
java·开发语言
NQBJT35 分钟前
VS Code配置Python人工智能开发环境
开发语言·人工智能·vscode·python
byoass42 分钟前
智巢AI知识库深度解析:企业文档管理从大海捞针到精准狙击的进化之路
开发语言·网络·人工智能·安全·c#·云计算
南境十里·墨染春水1 小时前
C++笔记 STL——set
开发语言·c++·笔记
L1624761 小时前
Win11 共享→Windows Server 访问故障总结(极简可复用)
开发语言·windows·php
dgaf1 小时前
DX12 快速教程(17) —— 立体图标与合并渲染
c语言·c++·3d·图形渲染·d3d12
.柒宇.2 小时前
FastAPI 基础指南:从入门到实战
开发语言·python·fastapi