【C语言小知识】缓冲区

缓冲区

当我们使用printf()将数据显示在屏幕上,或者使用scanf()函数将数据输入到电脑里,我们是否会产生些许疑问?为何输入的字符会直接显示到屏幕上等等。这里需要介绍一个C语言中的一个关键概念——缓冲区。

当我们使用老式系统进行运行代码时,会出现这样一种情况:输入一个数据,会将一个数据先打印在屏幕上,然后再把处理过的一个数据打印再屏幕上。

例如:ii lliikkee yyoouu!!

像这样回显用户输入的字符后立即打印该字符是无缓冲(或直接)输入,即正在等待的程序可立即使用输入的字符。

而现在大部分系统在用户按下Enter键之前不会重复打印刚刚输入的字符,这种输入形式输入缓冲输入。

例如:i like you!
i like you!

用户输入的字符被收集并存储在一个被称为缓冲区的临时存储区,按下Enter键后,程序才可以使用用户输入的字符。

在这里插入图片描述

  • 该图比较了缓冲输入与无缓冲输入

为什么存在缓冲输入呢?

1.首先,把若干字符作为一个快进行传输比逐个发送这些字符节约时间。
2.如果用户打错字符,可以直接通过键盘修正错误,当最后按下Enter键后,传输的是正确的输入。

但是并不是缓冲输入比较好,在某些交互式程序中同样也需要无缓冲输入。

缓冲的分类:
缓冲分为俩类&#x

评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值