2.4 本章的问与答
2.4.1 编写程序的风格很重要吗
编程风格直接影响到你的程序是不是有保存的价值,程序要直观地告诉读者编写的目的、用途、关键变量等。代码的摆放要有层次感,以提高代码的可读性。好的风格对于好的程序是关键性的。对于程序员来说,都认可的规定是:
◆ 局部变量应用小写字母。
◆ 全局变量应大写字母开头。
◆ 常量名应全大写。
◆ 函数名应该写为动作性的结构名并带有整体性。
◆ 语句应该随着在程序中的层次不同采取不同的缩进。
另外,很多人总是鼓励变量名写得足够长,容易携带信息,这也是不可取的。一般情况下,清晰都是随着简洁而来的。所以在写变量名的时候应该适当采用有意义的缩写形式。
2.4.2 数据结构与数据类型是一回事吗
数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由哪些成分数据构成,以什么方式构成,呈现什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,物理上的数据结构反映成分数据在计算机内的存储安排。数据结构是数据存在的形式。
数据是按照数据结构分类的,具有相同数据结构的数据属同一类。同一类数据的全体称为一个数据类型,它是值的集合和操作的集合。在程序设计高级语言中,数据类型用来说明一个数据在数据分类中的归属。它是数据的一种属性。这个属性限定了该数据的变化范围。
所以,数据结构和数据类型并不是一个概念,可以把数据类型看作已实现的数据结构,即数据类型是数据结构的一种简化情况。
2.4.3 main是关键字吗
main不是关键字,是系统规定的函数的名称,这个函数只有系统本身可以调用,不可被其他函数调用,当然更不能作为标识符来给其他的变量命名或做其他的操作。虽然关键字也不能作为标识符,但是关键字可以出现在程序中任何需要它的位置,而main只能作为函数名出现,并且每一个C文件中都有且只有一个main函数存在。
2.4.4 说明一个变量和定义一个变量有什么区别
说明一个变量意味着向编译程序描述变量的类型,但并不为变量分配存储空间。定义一个变量意味着在说明变量的同时还要为变量分配存储空间。在定义一个变量的同时还可以对变量进行初始化。
换句话说,说明一个变量相当于告诉编译程序“在程序的某个位置将用到一个变量,这里给出了它的名称和类型”,定义一个变量则相当于告诉编译程序“具有这个名称和这种类型的变量就在这里”。
注意
一个变量可以被说明许多次,但只能被定义一次。因此,不应该在头文件中定义变量,因为一个头文件可能会被一个程序的许多源文件所包含。
2.4.5 用const说明常量有什么好处
使用关键字const有两个好处:第一,如果编译程序知道一个量的值不会改变,编译程序就能对程序进行优化;第二,编译程序会试图保证该量的值不会因为程序员的疏忽而被改变。
当然,用#define来定义常量也有同样的好处。用const而不用#define来定义常量的原因是const量可以是任何类型(如结构),而用#define定义的常量仅仅为宏常量,没有数据类型之分。此外const量的其他特征和变量类似,它有可供使用的地址,并且该地址是唯一的。