程序的结构

程序的结构

       将程序分成适度的自包含单元是开发任一程序的基本方式。当工作很多时,最明智的做法就是把它分成许多便于管理的部分,使每一个部分都能很轻松地完成,并确保正确完成整个工作。如果仔细设计各个代码块,就可以在其他程序中重用其中的一些代码块。

 

按值传递

       比如float averagefloat value1float value2);中的value1value2就是按值传递,按值传递的重点是value1value2的副本作为变元传递给函数,而没有传送变量本身。也就是说,函数不能改变存储在value1value2中的值

按指针传递

       如果上面的float averagefloat value1float value2);更改为float averagefloat * pvalue1float * pvalue2);那么对两个value的操作将会影响他们的值,因为虽然我们使用的指针也是原来的指针副本,但是它们指向的值确实原始值,所以对其操作会影响原始值。

 

 

float averageconst *float pvalue1const *float pvalue2);表示函数将传递给参数的变元看做一个常量。

float averagefloat const * pvalue1float const * pvalue2);表示函数将传递给参数的为一个常量指针。

       从上面两个可以看出,const修饰的为后面的全部信息

注意绝对不要反悔函数中本地变量的地址

创建和使用函数时的重点

l  C程序由一个或多个函数组成,其中一个是main函数。该函数永远是执行的起点,操作系统通过一个用户命令调用它;

l  函数时程序中独立的一块代码。函数的名称采用标识符名称的形式,由一系列字母和数字组成,第一个字符必须是字母,当然下划线也是字母;

l  函数定义由函数头和函数体组成。函数头定义了函数的名称、函数返回值的类型以及函数中所有参数的类型和名称。函数体含有函数的可执行语句,定义了这个函数的功能;

l  在函数中声明的所有变量都是函数的本地变量;

l  函数原型是一个以分号终止的声明语句;

l  将指针参数指定为const,就是告诉编译器,这个函数不改变该参数指向的数据;

l  函数变元的类型必须符合函数头中对应的参数;

l  在调用函数中,是将变元值的副本传给函数,而不是传送原始值。这种给函数传递数据的方式称为按值传递机制;

l  如果函数要修改在调用函数中定义的变量,就需要将这个变量的地址作为变元传送;