C 语言 基本概念
C 程序是一系列文本文件(通常是头文件和源文件),它们包含一些声明。它们会经过翻译变成可执行程序,在操作系统调用其主函数时被执行(除非它自己就是 OS 程序或其他自立程序,这种情况下入口点是实现定义的)。
某些词在 C 程序中拥有特别含义,它们是关键词。其他词可用做标识符,可用于标识对象、函数、结构体、联合体或枚举的标签,它们的成员,typedef 名,标号,或者宏。
每个标识符(除了宏)仅在程序的一部分中合法,这部分被称为它的作用域,并属于四种命名空间之一。一些标识符拥有链接,这会令它们出现于不同作用域或翻译单元时,指代同一实体。
函数的定义包含一系列语句和声明,其中有的包含表达式,它指定程序要进行的计算。
声明和表达式创建、销毁、访问并操作对象。C 中的每个对象、函数及表达式均关联到一种类型。
C++ 语言 基本概念
C++ 程序是一个含有声明的文本文件(通常为头文件与源文件)序列。它们被翻译成一个可执行程序,程序在 C++ 实现调用其主 (main) 函数时被执行。
在 C++ 程序中,一些被称为关键词的词语有着特殊的含义。其它词语可以被用作标识符。在翻译的过程中,注释会被忽略。C++ 程序也包含字面量,其中的字符的值由字符集与编码指定。程序中的某些特定字符必须通过转义序列表示。
C++ 程序中的 实体 包括值、对象、引用、结构化绑定 (C++17 起)、函数、枚举项、类型、类成员、模板、模板特化、形参包 (C++11 起)和命名空间。预处理器宏不是 C++ 实体。
声明 可以引入实体,将它们与名字关联起来,并定义其属性。能够定义使用一个实体所需的所有属性的声明是定义。对任何被 ODR 使用的非内联函数或变量,程序中必须只有一个定义。
函数的定义通常包括一系列的语句,其中一部分会包含表达式。表达式指定了程序需要进行的运算。
程序中遇到的名字通过名字查找与引入它们的声明关联起来。每个名字都只在称为其作用域的程序部分中有效。有些名字有链接,这使得它们即使出现在不同的作用域或翻译单元时也代表相同的实体。
C++ 中的每一个对象、引用、函数和表达式都会关联一个类型,可以是基础类型,复合类型,或用户定义类型,以及完整或不完整类型等。
声明的不为非静态数据成员的对象和引用是变量。