C语言基础语法第三篇

  • Post author:
  • Post category:其他


1. 函数初步:自定义函数和库函数

在结构化程序设计中,函数是将任务进行模块划分的基本单位。一个大的程序一般应分为若干个程序模块,每个模块实现一个特定的功能。

2. 库函数

库函数都按功能分类,集中说明在不同的头文件中。用户只需在自己的程序中包含某个头文件,就可直接使用该文件中定义的函数。

3.自定义函数

用户可以根据自己的需求讲某个具有相对独立功能的程序定义为函数。

(1)c语言不允许函数的嵌套定义,即在一个函数中定义另一个函数。

(2)形式参数:只能等到函数被调用时用来接受传递进来的数据

形式参数是指函数名后括号中定义的变量,形式参数只有在函数被调用的过程中给予赋值(分配存储空间)。函数执行完后,形式参数变量就自动释放了,所以形式参数只在函数中可见,不能在函数外部使用。

(3)实际参数:调用函数时给出的参数包含了实实在在的数据。

实参可以是:常量,变量,表达式或函数等。无论实参是哪种类型的量,在进行函数调用时,他们都必须由确定的值,以便把这些值传给形参。

(4)形参和实参的功能是数据传递,发生函数调用时,实参的值会传递给形参。

函数调用首先要进行参数传递,参数传递的方向是由实参传递给形参。传递过程是,先计算实参表达式的值,再将该值传给对应的形参变量。一般情况下,实参和形参的个数和顺序应一一对应,并且对应参数类型匹配,即实参类型转化形参类型,而对应参数的参数名不要求相同。

(5)函数调用中发生的数据传递的过程中是单向的,只能把实参的值传给形参,而不能把形参的值传递给实参,换句话说,一旦完成数据的传递,实参和形参就再也没有关系了,故在函数调用中,形参值的改变并不会影响实参的值。

4.函数调用过程中的内存分配



(值传递)



(址传递)

5.逗号表达式

逗号表达式是优先级是最低的。

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int a = 2,
		b = 3,
		c = 4,
		d = 0;
	a = b + c, c + 4, b += 6;    //赋值表达式的优先级高于逗号表达式
	d = (b + c, c + 4, b += 6);
	printf("a=%d\n", a);
	printf("d=%d\n", d);
	system("pause");
	return 0;
}



版权声明:本文为LoveHoneyYou原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。