C 语言学习第四天—函数和文件组织
2015-05-15 23:29
260 查看
函数是对功能的封装,引入函数概念是为了提高代码复用和可读性。
C语言函数可以分为三种:主函数,库函数,和自定义函数。
主函数
主函数在C语言中有且只有一个,所有的程序都是从主函数开始执行,在主函数中结束。
库函数
库函数本身不是C语言的一部分,但是支持标准C的实现会提供该函数库的函数声明,类型和宏定义。
常用的库函数分为以下几个部分 标准输入输出函数(如getchar getline scanf putchar printf),字符串函数(strcpy,strcmp)数学函数(sin cos pow sqrt)实用函数(atof,atoi)其他函数(不常用)
自定义函数
自定义函数是最常用的函数。一般分为声明和定义。
函数定义的一般格式是
C语言是顺序编译的,只有后面的函数才可以调用前面定义的函数,有时候一个文件里函数太多,函数顺序不好确定,这时候我们需要在前面声明函数,这样就可以不受限制的调用函数。
声明的格式如下
参数传递
C语言的参数传递是传值操作,及传递给函数的只是当前值的副本,对其改变不会影响传入的值
文件组织
函数过多时我们会遇到在一个文件中管理大量代码的问题,这会给我们修改该文件带来大量问题,如函数不好定位,非修改部分被意外修改等等, 这时候我们需要用到头文件相关的知识。我们通常把主函数单独放在mian.c 中将其他函数按照功能分类放到其他.c 文件中,在同名的.h文件中添加该函数的声明,通过include 命令来处理文件之间的包含关系。
#include 命令会在编译前宏扩展的时候把对应文件添加到当前语句的位置,以完成文件组织,说白了就是在编译器眼里所有的文件都是一个文件,文件组织的意义就是人为的分割函数,以提升可读性和安全性。
常用的文件组织相关命令和关键字如下
extern
#include
#if
#ifndef
#define
C语言函数可以分为三种:主函数,库函数,和自定义函数。
主函数
主函数在C语言中有且只有一个,所有的程序都是从主函数开始执行,在主函数中结束。
库函数
库函数本身不是C语言的一部分,但是支持标准C的实现会提供该函数库的函数声明,类型和宏定义。
常用的库函数分为以下几个部分 标准输入输出函数(如getchar getline scanf putchar printf),字符串函数(strcpy,strcmp)数学函数(sin cos pow sqrt)实用函数(atof,atoi)其他函数(不常用)
自定义函数
自定义函数是最常用的函数。一般分为声明和定义。
函数定义的一般格式是
返回值类型 函数名(参数声明) { 声明部分 语句序列 }
C语言是顺序编译的,只有后面的函数才可以调用前面定义的函数,有时候一个文件里函数太多,函数顺序不好确定,这时候我们需要在前面声明函数,这样就可以不受限制的调用函数。
声明的格式如下
返回值 函数名(参数声明);需要注意的是C语言中声明的格式必须和定义保持一致(返回值,函数名,参数表)
参数传递
C语言的参数传递是传值操作,及传递给函数的只是当前值的副本,对其改变不会影响传入的值
#inlcude<stdio.h> void PassValueTest(int a, int b){ a = a+b; printf("a =%d\n",a); } int main(){ int a =3, b=5; PassValueTest(a,b); printf("value = %d\n",a); }如果需要改变传入变量的值,比如数据交换函数swap,那么我们需要用到指针方面的知识。传入地址值来间接改变该地址对应的值。
#include<stdio.h> void swap(int*a, int*b){ *a=*a^*b; *b=*a^*b; *a=*a^*b; } int main(){ int a=3, b=5; printf("a=%d,b=%d\n",a,b); swap(&a,&b); printf("a=%d,b=%d\n",a,b); getchar(); }
文件组织
函数过多时我们会遇到在一个文件中管理大量代码的问题,这会给我们修改该文件带来大量问题,如函数不好定位,非修改部分被意外修改等等, 这时候我们需要用到头文件相关的知识。我们通常把主函数单独放在mian.c 中将其他函数按照功能分类放到其他.c 文件中,在同名的.h文件中添加该函数的声明,通过include 命令来处理文件之间的包含关系。
#include 命令会在编译前宏扩展的时候把对应文件添加到当前语句的位置,以完成文件组织,说白了就是在编译器眼里所有的文件都是一个文件,文件组织的意义就是人为的分割函数,以提升可读性和安全性。
常用的文件组织相关命令和关键字如下
extern
#include
#if
#ifndef
#define
相关文章推荐
- C++学习笔记(第四章 函数的应用及多文件组织 之二)
- C++学习笔记(第四章 函数的应用及多文件组织 之三)
- C语言文件的读入与写入及C#基础函数学习[图]
- c语言文件操作函数应用(2) ——学习整理
- C程序设计语言- 函数与程序结构-3.1----函数的基本知识、外部变量、作用域规则、头文件
- C语言文件输入和输出操作的学习心得(一)
- Linux&C语言文件学习笔记(三):文件I/O与系统API
- Linux&C语言文件学习笔记(四):文件I/O与系统API续
- C语言文件读写标准I/O库函数的相关操作
- Python 学习日记第四篇 -- 函数,文件
- Java学习笔记——C语言格式输出函数printf()详解
- 【C/C++语言基础学习】在主函数的定义的指针数组、二维数组通过三级指针在被调用函数分配内存
- Go语言学习之函数(The way to go)
- Go语言学习笔记 -- 内建函数
- Python学习笔记:open()函数打开文件路径报错问题
- Go语言学习笔记 -- 函数(2)
- C语言文件操作函数大全详解
- c语言文件操作函数及实例
- 基于Java语言的安卓编程学习之文件读写(上)
- C语言文件操作函数