C/C++学习第六天——标准C基础存储区

yang-pig| 阅读:580 发表时间:2017-07-18 23:00:48 C语言

不同的速度的设备之间传递数据的时候需要使用缓冲区临时存储区

scanf函数工作时会利用一个输入缓冲区把用户在键盘上输入的字符临时存储起来,程序实际上从这个输入缓冲区里获得数字

先进入输入缓冲区的数据必须有限处理

如果用户输入的内容和scanf函数要求的格式不一致则他们会一直无法被处理,这个会导致后面的输入内容无法处理

可以使用如下两条语句把输入缓冲区里可能存在的错误数据丢弃

scanf("%*[^\n]"); /把输入缓冲区里第一个换行符前的所有内容丢弃

scanf("%*c"); /把输入缓冲区里第一个换行符丢弃

printf函数使用输出缓冲区临时存储要打印的内容

只有满足如下四个条件的某一个,输出缓冲区里的内容才会显示在屏幕上

1.'\n'换行字符前面的内容会被打印在屏幕上

2.当主函数结束后程序打印的内容出现在屏幕上

3.当输出缓冲区被充满的时候里面的内容会被打印在屏幕上

4.可以使用fflush(stdout)语句把语句输出缓冲区里的内容强制显示在屏幕上

数组可以用来代表内存中一个连续的同类型的存储区

数组也需要先声明在后然后才能使用

数组声明的时候除了需要提供数据类型和数组名称外还需要提供存储区的个数

一个数组一旦被创建成功则里边所包含的存储区个数就不可以改变了

数组通常不能作为整体使用,一般每次只使用其中的某一个存储区

数组中的每一个存储区有一个编号,这个编号叫做这个存储区的下标

最前边的存储区下标是0,向后依次递增,下标的范围从0开始到个数减一为止,超过存储区的下标不可以使用,否则可能导致严重错误

下标是用来表示数组中某个存储区的唯一方法

通常使用for循环依次处理数组中每个存储区在这个循环里让循环变量依次代表每个存储区的下标

声明数组时也应该初始化

1.应该把所有初始化数据写在一对大括号里,不同数据之间使用逗号分开

2.所有初始化数据按照从前向后的循序依次对每个存储区进行赋值

3.如果初始化数据个数多余存储区个数则丢弃多余的数据

4.如果初始化数据个数少于存储区,则存储区自动初始化成0

5.如果初始化数据个数和存储区个数一样则可以省略存储区个数

可以对数组名称进行sizeod计算,得到的结果是整个数组的中包含的字节个数

可以利用sizeof关键字在程序中计算出数组中包含的存储区个数

可以在声明数组时使用变量表示数组中存储的个数,这种数组叫做变长数组

只有C99规范中才允许使用变长数组

变长数组不可以初始化

多维数组不但可以表示内存中一组连续的同类型的存储区,同时可以表示这些存储区的分组情况

多维数组存储区可以多次进行分组。

声明二维数组是需要指定一共分类几组,还需要指定每组数组中包含的存储区个数

二维数组中使用一个下标表示分组(组下标)

还使用另外一个下标表示分组中的存储区(组内下标)

热门推荐