C语言(长期更新)第15讲 指针详解(五):习题实战

C语言(长期更新)第15讲

指针详解(五):习题实战

++跟着潼心走,轻松拿捏C语言,困惑通通走,一去不回头~欢迎开始今天的学++ ++习内容,你的支持就是博主最大的动力++ 。博主主页:潼心1412o-CSDN博客


知识回顾

++上节课我们学习了指针的部分内容,对基础内容有了扎实的掌握,今天我们来继续学习几种特殊的指针,坐稳了,我们发车,gogogo,出发喽!++


目录

C语言(长期更新)第15讲

指针详解(五):习题实战

知识回顾

[15.1 sizeof和strlen的对比](#15.1 sizeof和strlen的对比)

[15.1.1 sizeof](#15.1.1 sizeof)

[15.1.2 strlen](#15.1.2 strlen)

[15.1.3 对比](#15.1.3 对比)

[15.2 数组指针笔试题解析](#15.2 数组指针笔试题解析)

[15.2.1 一维数组](#15.2.1 一维数组)

[15.2.2 字符数组](#15.2.2 字符数组)

[15.2.3 二维数组](#15.2.3 二维数组)

[15.3 指针运算笔试题](#15.3 指针运算笔试题)


15.1 sizeof和strlen的对比

15.1.1 sizeof

前面学习操作符时,我们学到了sizeof

sizeof计算的是变量所占内存空间的大小,单位是字节

操作数是类型时,计算的是类型创建的变量所占内存空间的大小

sizeof只关注操作数占用内存空间的大小,不关心具体放的内容

注意写法

15.1.2 strlen

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

函数原型如下

统计的是strlen函数的参数str中这个地址后,\0 前字符串中字符的个数

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

在使用时尤其需要小心这些问题

15.1.3 对比

  1. sizeof是操作符;strlen是库函数,使用时需包含头文件string.h
  2. sizeof计算操作数所占内存的大小,单位是字节;strlen求字符串长度,统计的是 \0 前的字符数
  3. sizeof不关注内存放的是什么数据;strlen关注内存中是否有\0

15.2 数组指针笔试题解析

15.2.1 一维数组

15.2.2 字符数组

代码1

代码2

代码3

代码4

代码5

代码6

15.2.3 二维数组

数组名的意义:

  1. sizeof(数组名),这⾥的数组名表示整个数组,计算的是整个数组的大小。

  2. &数组名,这里的数组名表示整个数组,取出的是整个数组的地址。

  3. 除此之外所有的数组名都表是首元素的地址。

15.3 指针运算笔试题

题目一

题目二

题目三

题目四

1.指针-指针的前提是两个指针指向同一块空间

2.指针-指针得到的结果的绝对值是两个指针之间的元素个数

小地址-大地址会得到负数

%p打印地址时,直接将内存中的值,当做地址打印

10000000 00000000 00000000 00000100 -4

11111111 11111111 11111111 11111011

11111111 11111111 11111111 11111100

FF FF FF FC

题目五

题目六

题目七

第一次打印得到POINT


++好了今天的学习内容就到这里啦,谢谢你的陪伴,我是潼心,下次再见~如果这篇文章对你有帮助的话。请务必给主播一个一键三连,球球了,这对主播很重要~++

博主主页:潼心1412o-CSDN博客

相关推荐
木木em哈哈1 天前
有关于cnb自动化的脚本补全
服务器·开发语言·pygame
星释1 天前
Rust 练习册 :Poker与扑克牌游戏
开发语言·游戏·rust
晨非辰1 天前
【数据结构初阶】--从排序算法原理分析到代码实现操作,参透插入排序的奥秘!
c语言·开发语言·数据结构·c++·算法·面试·排序算法
Jonathan Star1 天前
Next.js、NestJS、Nuxt.js 是 **Node.js 生态中针对不同场景的框架**
开发语言·javascript·node.js
zhangyao9403301 天前
关于js导入Excel时,Excel的(年/月/日)日期是五位数字的问题。以及对Excel日期存在的错误的分析和处理。
开发语言·javascript·excel
骑驴看星星a1 天前
【Three.js--manual script】4.光照
android·开发语言·javascript
2301_795167201 天前
玩转Rust高级应用 如何避免对空指针做“解引用”操作,在C/C++ 里面就是未定义行为
c语言·c++·rust
星释1 天前
Rust 练习册 :Leap与日期计算
开发语言·后端·rust
悟能不能悟1 天前
java的java.sql.Date和java.util.Date的区别,应该怎么使用
java·开发语言
循环过三天1 天前
3.4、Python-集合
开发语言·笔记·python·学习·算法