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

1. sizeof 和 strlen 的对比

1.1 sizeof

在学习操作符的时候,我们学习了 sizeof,sizeof 是计算变量所占内存空间大小的单位是字节 ,如果操作数是类型 的话,计算的是使用类型创建的变量所占内存空间的大小。

sizeof 只关注占用内容空间的大小,不在乎内存中存放什么数据。

1.2 strlen

strlen 是C语言库函数,功能是求字符串长度

统计的是从 strlen 函数的参数 str 中这个地址开始向后,\0 之前字符串中字符的个数。

strlen 函数会一直向后找 \0 字符,直到找到为止,所以可能存在越界查找。

1.3 sizeof 和 strlen 的对比

sizeof:1.sizeof 是操作符

2.sizeof 计算操作数所占内存的大小,单位是字节

3.不关注内存中存放什么数据

strlen:1.strlen 是库函数,使用需要包含头文件 string.h

2.strlen 是求字符串长度的,统计的是 \0 之前字符的个数

3.关注内存中是否有 \0 ,如果没有 \0 ,就会持续往后找,可能会越界。

2. 数组和指针笔试题解析

2.1

2.2

2.3

2.4

2.5

2.6

2.7

2.8

3.指针运算经典例题

3.1

3.2

3.3

3.4

简单解释一下

3.5

简单解释一下

3.6

简单解释一下

3.7(很难)

如有需要,评论区留言,我出一个新文章解析。

注:好题值得推敲。

相关推荐
iiiiyu28 分钟前
常用API(SimpleDateFormat类 & Calendar类 & JDK8日期 时间 日期时间 & JDK8日期(时区) )
java·大数据·开发语言·数据结构·编程语言
故事和你9130 分钟前
洛谷-数据结构1-4-图的基本应用2
开发语言·数据结构·算法·深度优先·动态规划·图论
qq_120840937139 分钟前
Three.js 工程向:Clock、deltaTime 与固定步长主循环
开发语言·javascript·ecmascript
小菜同学爱学习41 分钟前
夯实基础!MySQL数据类型进阶、约束详解与报错排查
开发语言·数据库·sql·mysql
吴可可1231 小时前
C#合并首尾相连多段线实战
算法·c#
源码站~1 小时前
基于机器学习的社交媒体舆情分析系统
开发语言·python
jieyucx1 小时前
Go 语言零基础入门:编写第一个 Hello World 程序
开发语言·后端·golang
沐知全栈开发1 小时前
Rust 数据类型
开发语言
jieyucx1 小时前
Go 语言基础语法:变量、常量与数据类型详解
开发语言·后端·golang
光影少年1 小时前
Python+LangGraph学习路线及发展前景
开发语言·人工智能·python·学习