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博客

相关推荐
陈鋆3 分钟前
Langchain-Chatchat[四、RAG对话流程代码解析]
开发语言·python·langchain
β添砖java15 分钟前
python第一阶段第九章异常、模块、包
开发语言·python
2501_9419820517 分钟前
企业微信Python SDK:高效群发消息实战
开发语言·python·企业微信
yue00817 分钟前
C# Environment类的介绍
开发语言·c#·environment
即将进化成人机25 分钟前
Spring Boot配置文件
java·开发语言·intellij-idea
龙智DevSecOps解决方案28 分钟前
Java开发基础:什么是Spring Boot?一文了解其优势、对比以及如何通过Perforce JRebel实现高效开发
java·开发语言·spring boot·jrebel·perforce·java开发
PPPPickup33 分钟前
easychat---创建,获取,获取详细,退群,解散,添加与移除群组
java·开发语言·后端·maven
liulilittle1 小时前
C++ 并发双阶段队列设计原理与实现
linux·开发语言·c++·windows·算法·线程·并发
lly2024062 小时前
并查集快速查找
开发语言
繁星蓝雨2 小时前
我与C++的故事(杂谈)
开发语言·c++