C语言“流”是什么概念?

Bob-Tester 2011-11-14 06:49:54
C程序将输入视为一个外来字节的流。

这是C primer plus 第8.8关键概念 的一句话。 小弟对C语言的流这个概念不是很理解。请问能否举例说明一下。谢谢!
...全文
881 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaiwodeai 2012-11-11
  • 打赏
  • 举报
回复
"biaobiao99"说的很好
ten37and 2012-11-11
  • 打赏
  • 举报
回复
就是数据流的意思
14号选手 2012-11-11
  • 打赏
  • 举报
回复
有点像面向对象里面的类和实例,这种东西只能去靠自己理解
armsword 2012-11-11
  • 打赏
  • 举报
回复
stdin stdout stderr
tragedyxd 2012-11-11
  • 打赏
  • 举报
回复
应该就是iostream吧,input/output stream
biaobiao99 2011-11-14
  • 打赏
  • 举报
回复
缓存的意思! 输入输出流。 就是 把输入输出 那些数据 缓存在“栈”里面。然后一次性输出或者输入。操作性统 和组成原理 都有讲的
辰岡墨竹 2011-11-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 woshiwaiwai 的回复:]

这个流主要就是stream类这些东西,在stream里面有专门的内存保存输入,所保存的顺序就是你输入的数据顺序,当你使用cin >> (一个变量)它就将保存的数据从头开始从自己哪里取出,放进这个变量里,如果你这个变量没把东西读完,剩下的数据还是会保存在这个类里,你下次读取先使用它保存的东西,如果没数据,才会叫你继续输入。
[/Quote]
你说的C++的stream。
LZ问的其实是C里的文件流,C里标准文件方式把文件当作流来看,也就是有一个内部缓冲buffer(在C库内部建立,一般为512B),每次以标准方式打开文件时,读入时先将数据读到这个缓冲区里,写的时候也是先写入缓冲区里。
C里标准输入就是stdin,标准输出就是stdout,C对键盘输入(比如scanf)和屏幕输出(比如printf)的行缓冲机制就是建立在这些文件的流机制上的。
有时候比如scanf输入整数时,最后一个回车就会留在流的buffer里。如果下次时你读字符的话就会把它读入。这就是为什么有些C实现允许你用fflush(stdin)来清除输入缓冲,不过C标准只定义了对普通文件和stdout等输出流的fflush行为。因为按理说fflush刷新缓冲不应该丢弃输入的。
qq120848369 2011-11-14
  • 打赏
  • 举报
回复
流的意思是文件当前的offset过去就过去了。
goldbeef 2011-11-14
  • 打赏
  • 举报
回复
感觉 流就是数据,指令,流动的过程
AnYidan 2011-11-14
  • 打赏
  • 举报
回复
子在川上曰:逝者如斯夫
woshiwaiwai 2011-11-14
  • 打赏
  • 举报
回复
没事的时候可以打断点 跟进去看看 很好玩的
woshiwaiwai 2011-11-14
  • 打赏
  • 举报
回复
这个流主要就是stream类这些东西,在stream里面有专门的内存保存输入,所保存的顺序就是你输入的数据顺序,当你使用cin >> (一个变量)它就将保存的数据从头开始从自己哪里取出,放进这个变量里,如果你这个变量没把东西读完,剩下的数据还是会保存在这个类里,你下次读取先使用它保存的东西,如果没数据,才会叫你继续输入。
caddor 2011-11-14
  • 打赏
  • 举报
回复
这个可以先跳过,标准输出输入 以后你玩可视化编程用不到的。。。。

苏客达 2011-11-14
  • 打赏
  • 举报
回复
stream 类
turing-complete 2011-11-14
  • 打赏
  • 举报
回复
流这个概念源自英文的stream,你只要把stream类学好就行,不受限于翻译过来的概念。
duke56 2011-11-14
  • 打赏
  • 举报
回复
不尚长概念性问题

好像是一个一个的输入输出的,不像你一下输入一个字符串一下等到回车后才全输入的...
BT六眼飞鱼 2011-11-14
  • 打赏
  • 举报
回复
一种抽象的理解:就好像是水管一样,数据就是从水管里流出来的水
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

70,013

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧