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(很难)

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

注:好题值得推敲。

相关推荐
MATLAB代码顾问10 分钟前
MATLAB实现灰狼算法优化PID参数
算法·机器学习·matlab
@insist12328 分钟前
信息安全工程师-物理隔离技术基础核心考点解析
开发语言·网络·安全·软考·信息安全工程师·软件水平考试
空中海34 分钟前
02 状态、Hooks、副作用与数据流
开发语言·javascript·ecmascript
Aurorar0rua35 分钟前
CS50 x 2024 Notes C - 09
c语言·开发语言·学习方法
兔小盈38 分钟前
多线程篇-(二)线程创建、中断与终止
java·开发语言·多线程
hoiii1871 小时前
基于MATLAB实现内点法解决凸优化问题
开发语言·matlab
承渊政道1 小时前
【动态规划算法】(完全背包问题从状态定义到空间优化)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法
超级大福宝1 小时前
【力扣48. 旋转图像】超好记忆版 + 口诀
c++·算法·leetcode
爱写代码的倒霉蛋1 小时前
2023年天梯赛L1-8
数据结构·算法