文档详情

C语言程序设计第二版ppt课件(完整版).ppt

发布:2023-07-26约字共495页下载文档
文本预览下载声明
6.7内部函数和外部函数 例如: extern int f(int a,int b)如在函数定义中没有说明extern或static则隐含为extern。在一个源文件的函数中调用其它源文件中定义的外部函数时,应用extern说明被调函数为外部函数。 例如: F1.C (源文件一) main() { extern int f1(int i); /*外部函数说明,表示f1函 数在其它源文件中*/ …… } F2.C (源文件二) extern int f1(int i); /*外部函数定义*/ { …… } 本章小结 在程序中使用函数,增加了程序的可读性,使程序在编写时更加简单,模块性更强。本章详细介绍了在C程序使用函数的基本方法。 函数的分类,库函数:由C系统提供的函数;用户定义函数:由用户自己定义的函数;有参函数;无参函数;内部函数;外部函数 函数定义及调用部分。介绍了函数定义的格式,主要有无参和有参两种,在调用时强调函数返回值应与函数类型说明一致。 C语言中,允许函数的嵌套调用和函数的递归调用。C语言的函数不能嵌套定义,但可以嵌套使用和递归使用。 在数组作函数参数时,有两种形式,一种是数组元素作函数实参,用法与变量相同,另一种是数组名作实参和形参,传递的是数组的首地址。 变量的有效范围称为变量的作用域。C语言中所有的变量都有自己的作用域。定义变量和声明位置的不同,其作用域也不同,按作用域范围分为局部变量和全局变量。 数据的存储类别分为两大类,静态存储类和动态存储类。变量的存储类别细分为自动(auto)、寄存器(register)、静态(static)和外部变量(extern)。自动变量和寄存器变量属于动态存储,外部变量和静态变量属于静态存储。函数中的局部变量如不做特殊说明,都是动态分配存储空间的,如做static说明,将称为局部静态存储变量。函数中的全局变量在函数外部定义,编译时分配在静态存储区。 内部函数和外部函数,内部函数用static做说明,只能被本文件中其它函数所引用,外部函数用extern做说明,可以省略,外部函数可以被其它文件所引用。 第七章 指 针 本章目录 7.1 指针的概念 7.2指针变量和函数 7.3指针变量和数组 7.4 指针数组 指针是C语言的一种数据类型,在C语言中处于重要的地位。正确、灵活地应用指针可以有效地表示复杂的数据结构、动态地分配内存、方便地使用字符串、高效地使用数组。熟练地应用指针可以使C程序简洁、紧凑、应用效果好。 7.1 指针的概念 指针的概念包括指针和指针变量的关系、指针和函数、指针和数组的使用等。 7.1.1 指针和指针变量的关系 一个变量的地址称为该变量的指针。 1.地址指内存中存储单元的编号: 1)计算机硬件系统的内存储器中,拥有大量的存储单元(容量为1字节)。为了方便管理,必须为每一个存储单元编号,这个编号就是存储单元的“地址”。每个存储单元都有一个唯一的地址。 2)在地址所标识的存储单元中存放数据。 注意:内存单元的地址与内存单元中的数据是两个完全不同的概念。内存单元的编号(地址),与变量名对应。内存单元的内容:即变量的值。 7.1 指针的概念 到目前我们学过的基本数据类型int型、float型、double型、char型等,内存分配的存储单元分别是2个字节、4个字节、8个字节、1个字节等。前面我们已经介绍了变量的概念,每个变量都有自己的存储地址。定义变量的同时,把存储单元的起始地址作为变量的地址(指针)。 指针变量指专门存放变量地址的变量。为了更好的理解指针和指针变量,下面举例说明: int a; 编译系统会为它分配2个字节存储单元即1000H和1001H,1000H就是变量a的地址。如果有一个变量存放变量a的地址,那这个变量就是指针变量pa。如图7-1 7.1 指针的概念 我们可以直接给变量a赋初值2,即通过变量a的地址访问a,这种方式称“直接访问”。当然还可以通过指针变量pa访问变量a,这种访问方式称“间接访问”。 1000 1000H 1001H 变量a 指针变量pa … … 图7-1 7.1 指针的概念 7.1.2指针变量定义 定义指针变量的一般形式为 基类型 *指针变量名 指针变量与普通变量类似,在程序中若要使用指针变量,必须先进行定义后使用。 例如: int *p1,i
显示全部
相似文档