尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

C语言随堂笔记-10

C语言随堂笔记-10
📅 发布时间:2026/6/18 22:19:15
主要讨论了指针和OJ的输入问题。

恭喜本系列更新到第十期!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) {}来避免空指针的问题。

相关新闻

  • [STM32C0] 【STM32C092RC 测评】+ 03 板载串口2输出测试
  • 2026最新品牌环保板材厂商top10推荐!山东等地优质公司及生产厂家选择指南,ENF级环保与创新服务双优品牌推荐 - 全局中转站
  • 2000-2024年各省、地级市银行竞争度HHI数据

最新新闻

  • 供应链规则引擎应用:JVS-Rules实现动态供应商评分
  • 嵌入式高精度低功耗ADC选型与应用:Sigma-Delta架构与TC3405实战
  • VS2019使用Microsoft Web Browser控件获取网页源码
  • 2026玉林防水补漏靠谱服务商盘点:屋面/厨卫/外墙/地下室渗水维修详解,适配桂东南盆地回南天防潮暴雨甄选指南 - 宅安选房屋修缮
  • Django毕设项目:基于 Django+Vue 的电信业务资费结算管理系统的设计与实现 基于 Django+Vue 的移动通信资费后台管控平台 (源码+文档,讲解、调试运行,定制等)
  • RE46C109低功耗报警驱动芯片:集成LDO与升压驱动的设计实战

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号