Zhao Zhengyang

《C程序设计语言》笔记 第7章 输入与输出

本章将讲述标准库,介绍输出/输出、字符串处理、存储管理与数学函数以及其他一些服务的函数。本章的重点将放在输入/输出上。 7.1 标准输入/输出 如第1章所述,标准库实现了简单的文本输入/输出模型。文本流由一系列行组成,每一行以一个换行符结尾。如果系统没有遵循这种模型,则标准库会通过一些措施使其看起来遵循了这种模型。例如,标准库可能在输入时将回车符(carriage return, CR, ...

《C程序设计语言》笔记 第6章 结构

结构(structure)是一个或多个变量的集合,这些变量可能是不同的类型,为了方便处理而组织在一个名字之下。由于结构将一组相关的变量看作一个单元而不是各自独立的实体,因此结构有助于组织复杂的数据,特别是在大型程序中。 结构的一个传统例子是工资记录:每个雇员由一组属性描述,如姓名、地址、社会保险号、工资等。其中的某些属性也可以是结构,例如姓名可以分成几部分,地址甚至工资也可能是这样。C语言...

【C++】二维数组的行指针和列指针

在C++中,数组与指针有密切的关系。任何通过数组和下标实现的表达式可等价地通过指针和偏移量实现。下面首先介绍一维数组与指针的关系,之后介绍二维数组的行指针和列指针。 1.一维数组和指针 定义一个长度为3的一维数组a: int a[3] = {1, 2, 3}; 假设其首元素地址为0x9F36FAE0,则数组元素在内存中的示意图如下图所示: 1.1 指向数组元素的指针 指向数组元...

《C程序设计语言》笔记 第5章 指针与数组

指针(pointer)是一种保存变量地址的变量。在C语言中,指针的使用非常广泛。一个原因是,指针有时是表达某个计算的唯一途径;另一个原因是,同其他方法比起来,使用指针可以生成更紧凑、更高效的代码。指针与数组之间的关系十分密切,本章将讨论它们之间的关系,并探讨如何利用这种关系。 指针和goto语句一样,会导致程序难以理解。如果使用者粗心,指针很容易就指向了错误的地方。但是,如果谨慎地使用指针...

Protocol Buffers入门教程

1.简介 Protocol Buffers(简称为protobuf)是Google开发的用于序列化结构化数据的语言无关、平台无关、可扩展的机制。与JSON、XML等序列化方式相比,Protocol Buffers更小、更快、更简单。只需定义一次数据的结构化方式,之后就可以使用特殊生成的源代码很容易地将结构化数据读取和写入到各种数据流,并使用各种编程语言。 项目主页:https://g...

《C程序设计语言》笔记 第4章 函数与程序结构

函数可以把大的计算任务分解成若干个较小的任务,使得程序设计人员可以基于他人已完成的工作编写程序,而不是从零开始。一个设计得当的函数可以把程序中不需要了解的具体操作细节隐藏起来,从而使整个程序结构更加清晰,并降低修改的难度。 C语言程序一般由许多小的函数组成,而不是由少量较大的函数组成。 4.1 函数的基本知识 首先来设计并编写一个程序,它将输入中包含特定“模式”或字符串的行打印出来(这是...