C语言学习笔记【01】——缓冲区

本文介绍了C语言中的缓冲区概念,包括输入输出缓冲区的作用和分类。通过实例解析了在处理字符串输入时遇到的问题,即scanf()函数在读取字符串后,缓冲区中留有的换行符导致的未预期结果。提出了三种解决方案:使用getchar()函数清空缓冲区、调用fflush(stdin)清除缓冲区内容,以及连续调用getchar()来获取并清除缓冲区中的字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

初步了解

初步接触

问题

解决

不停地获取并清空


初步了解

  • 缓冲区有很多种(粗略分类),像输入缓冲区、输出缓冲区、文件缓冲区、键盘缓冲区、输出缓冲区等等。有时候叫buf

  • 缓冲区本质是一段连续的空间,比如char a[10],a为一段连续的20字节的空间

  • 按照其功能来命名,像处理输入数据的缓冲区就叫输入缓冲区

  • 意义(次要):一种有效处理问题的算法,比如输入缓冲区的处理逻辑

    1. 键盘输入的各种字符,都会统一地将每个字符存储在输入缓冲区中

    2. 输入完毕,scanf等输入函数在缓冲区中获取数据,并存储在变量里

个人理解(非专业):

更方便处理数据,而缓冲区可以理解为一个数据的中转站(中枢机构)。scanf()函数获取数据存储在缓冲区中,再从缓冲区获取数据存储在变量。就比如人的中枢神经,这样可以更好地管理低级神经,提高效率。

上面是次要作用,主要作用:平衡输入端与计算端速度不一致(涉及到更专业的知识,本人也不太懂)

链接

C语言缓冲区(缓存)详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值