关于整数类型的声明和定义

Declaration and Definition about integral types

我对这两个概念有点困惑。 我正在阅读 "C++ Programming Language",Bjarne Stroustrup。 根据这本书,以下是声明和定义:

char ch; //(dec. and def.)
string s; //(dec. and def.)
int count=1; //(dec. and def.)

但是有一个练习 (4.11) 说“ 对于 §4.9 中的每个声明,执行以下操作: 如果声明不是定义,则为其编写定义。如果声明是定义,则为它写一个不是定义的声明。"

所以我很困惑,如果没有定义以上三个东西,我们怎么能写声明呢??

我怀疑回答这个问题的信息在其他问题中,但它明确询问如何从定义更改为声明,所以这是一种方法:

char ch;

定义了一个 char,但没有对其进行初始化(除了某些将我们带到另一个问题的上下文)。

extern char ch;

声明在某处有一个char叫做ch。链接器必须找到它。

您可以对其他代码行执行同样的操作。