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

相关推荐
牛奔15 分钟前
Go 如何避免频繁抢占?
开发语言·后端·golang
寻星探路4 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
lly2024066 小时前
Bootstrap 警告框
开发语言
2601_949146536 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
曹牧6 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
KYGALYX7 小时前
服务异步通信
开发语言·后端·微服务·ruby
zmzb01037 小时前
C++课后习题训练记录Day98
开发语言·c++
猫头虎7 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
YUJIANYUE8 小时前
PHP纹路验证码
开发语言·php
仟濹8 小时前
【Java基础】多态 | 打卡day2
java·开发语言