当前位置: 首页 > news >正文

C语言随堂笔记-10

恭喜本系列更新到第十期!Congratulations!!!

今天是12.31的19:00,再过几个小时就要新年啦!!!

当然本系列前几篇都比较混乱,后期会考虑重写重新编排!

 

1)OJ中输入的问题

A
B
c
D

这是OJ中的输入样例。实际上每一行结束都有换行符'\n'。在循环字符输入中,会将'\n'也读取进去。有以下三种方法解决:

  a.用getchar()把换行符吸走

  b.scanf(" &c", &a); 这里的空格代表着跳过下一个字符前的所有空白符('\n'就是空白符的一种)

  c.直接读取进来,但是逻辑判断的时候不处理这种情况,也就是“视而不见”

 

2)又是指针!

1.指针是内存中一个最小单元的编号,也就是地址

2.平时常说的指针,其实是指针变量,用用来存放内存地址的变量 44

  32位的机器有32根地址线,有232种二进制表示。一个地址标识一字节的数据。232种二进制对应相同的字节,转化为8G的大小。也就是最多管理8G的内存。32位的地址对应的是4Bytes,也就说指针变量的大小为4Bytes。

 

3)要指针类型干嘛!

  我们知道,在同种机器环境下,指针变量的大小一样,但是不同种数据类型占的内存大小不一致。例如int为4字节,float为4字节,char为1字节,double为8字节。

  指针的类型主要有两种作用:

1.指针的类型决定了步长

2.指针的类型决定了解引用时的操作范围

  对于第一点,经典的例子就是假如有int类型的a[10],那么a[3]其实就是*(a + sizeof(int)*3)。也就是说里面的类型决定了步长。

  对于第二点,指针变量里都放的是第一位的地址。对于char,就只能访问这一位的。对于int,可以访问从这开始的1,2,3,4位。

 

4)我可以任意使用吗?

  *float和*int指针所占空间一致,int和float都占四个字节,步长和操作范围一致,可以通用吗?

  答案是否定的。因为两者数据类型不同,对于同个数据在内存中的存储方式不一样。

 

5)再谈sizeof

  我们已经知道sizeof是一个操作符而非函数了。sizeof的返回值是unsigned int,最准确的输出方式是printf("%zu", sizeof(int));

 

6)存储

  一个十六进制数字需要四个二进制表示,两个十六进制的数字就需要八个二进制表示,也就是一个字节。两个十六进制数字需要一个字节存储。

  我们知道int在内存里需要四个字节存储。所以应该是这样的 8a 1b a2 12这样四个字节存储。

 

7)空指针的问题

  很多时候我们都会int *p = NULL;

  但是后面用的时候忘记赋一个非空值,导致产生致命错误。

  所以一般使用的时候,我们可以用if (*p) {}来避免空指针的问题。

http://www.rkmt.cn/news/188977.html

相关文章:

  • [STM32C0] 【STM32C092RC 测评】+ 03 板载串口2输出测试
  • 2026最新品牌环保板材厂商top10推荐!山东等地优质公司及生产厂家选择指南,ENF级环保与创新服务双优品牌推荐 - 全局中转站
  • 2000-2024年各省、地级市银行竞争度HHI数据
  • Dify MCP 接入踩坑实录:notifications/initialized 的终极解法
  • 还搞不懂http请求方法?一篇讲清所有用法和坑点!
  • 深入解析:机器学习在验证码识别中的应用实践
  • AdStyle:LLM自我进化,生成攻击 Prompt
  • 中美AI较量
  • 海曦技术加持!AI梦想家一键生成职业梦想,点亮班会高光时刻
  • 【C语言】struct结构体内存对齐和位段(超详解) - 教程
  • 火狐浏览器报错:无法加载您的 Firefox 配置文件?一行命令 + 删除,立刻修好
  • 题解:P14920 [GESP202512 六级] 道具商店
  • 2025.12.31日21:10-fastidious难取悦的, 挑剔的, 苛求的, (微生物等)需要复杂营养地
  • 《程序员修炼之道 - 从小工到专家》阅读笔记8
  • 【预测转矩控制三相感应电动机】实现三相感应电动机(MIT)预测转矩控制(PTC),描述了用于为变频器提供转矩参考值的控制器计算方法研究附Matlab代码、Simulink仿真
  • 《程序员修炼之道 - 从小工到专家》阅读笔记9
  • 雷达液位计工作原理是什么?(脉冲雷达 vs FMCW 雷达)
  • 《程序员修炼之道 - 从小工到专家》阅读笔记7
  • 【状态估计】基于FOMIAUKF、分数阶模块、模型估计、多新息系数的电池SOC估计研究附Matlab代码
  • 具身智能@2025:「人机共生」前夜
  • 【语音分离】基于平均谐波结构建模的无监督单声道音乐声源分离附Matlab代码
  • session、cookie、token的深度解析:身份认证的核心逻辑
  • 2025 零代码 AI 落地神器曝光
  • 【轴承故障诊断】加权多尺度字典学习模型(WMSDL)及其在轴承故障诊断上的应用附Matlab代码
  • 油管十大盈利方式,看你错过了哪些?
  • Flowjo 流式细胞分析软件介绍
  • 智能测试数据生成:提高测试效率与覆盖率
  • 二维码生成器深度评测研究报告(2025)
  • 【必收藏】从零开始学AI Agent:大模型智能体的全面指南,小白也能快速上手!
  • 「域乳珍品」荣膺丝路沿线国家国宾伴手礼:以中国乳香,敬世界一堂