P32
变量声明的语法
int a;
可以声明变量a是一个整数。同时,这段代码有足够的信息让编译器为整数a分配空间,而且编译器也确实给整数分配了空间。要解决这一矛盾,对于c/c++需要一个关键字--extern,它表示变量是在文件以外定义的,或在文件后面部分才定义,而此处只是一个声明。
extern int a;
P62
修改外部对象
int a = 47;
int* p = &a;
p* = 5;
现在a的值变成了5。为什么要通过指针这个变量作为代理来修改另一个变量呢? 答案分为两类:
1)通过给函数传递指针可以允许函数修改外部对象。这是指针最基本的用途。
2)为了获得许多灵活的编程技巧。