二、函数
来源:互联网 发布:怎样使用淘宝金币 编辑:程序博客网 时间:2024/05/17 08:18
c语言中的函数就是面向对象语言中的方法,c语言的函数可以分为以下几种类型:
1,main主函数,这是c语言的入口函数,每个c语言程序有且只有一个main函数。
2.自定义函数,就是开发人员自己写的函数。
3.库函数,就是c语言函数库中的函数,例如平时导入的stdio.h中的printf函数和scanf函数。
在c语言中函数的定义是必须按照顺序的,因为c语言是一门面向过程的语言,不能像java面向对象的语言一样,在前面定义的函数中是可以调用后面的函数的,在c语言中这样做是不能的,但是也有解决办法。
一、函数的定义:
返回值 函数名 (参数类型 参数名,参数类型 参数名…..){};
如下面就定义了一个名为sum的函数,要求传入两个int类型的参数a,b。最后返回一个int类型的数。
int sum(int a, int b) { return a + b; } int main() { int c = sum(1, 4); return 0; }
二、函数的声明:
上面说到了,c语言不能在前面的函数中调用后面声明的函数,这里的解决办法就是,可以在前面对后面声明的函数进行提前声明,这样就可以调用后面声明的函数。
// 只是做个函数声明,并不用实现 int sum(int a, int b); int main() { int c = sum(1, 4); return 0; } // 函数的定义(实现) int sum(int a, int b) { return a + b; }
在一般的开发项目中,会把函数的声明和函数的定义(实现)分别放在两个同名的文件中,函数的声明放在.h文件中,函数的实现放在.c文件中。
三、函数的形参和实参:
在定义函数时,函数名后面的()中定义的变量称为形式参数(形参);在调用函数时传入的值称为实际参数(实参)。
// b是test函数的形参(形式参数)void test(int b) { b = 9; // 改变了形参b的值}int main(){ int a = 10; printf("函数调用前的a:%d\n", a); test(a); // a是test函数的实参(实际参数) printf("函数调用后的a:%d", a); return 0;}
如果是基本数据类型作为函数的形参,那是简单的值传递,将实参a的值赋值给了形参b,相当于:
int a = 10;int b = a;b = 9;
a和b是分别有着不同内存地址的2个变量,因此改变了形参b的值,并不会影响实参a的值。
上面的代码输出结果:
0 0
- 二、函数
- 函数(二)
- 二、函数
- 函数(二)
- 函数【二】
- 函数二
- Cognos函数(二) - 宏函数
- asp常用函数(二)
- 字符串函数(二)
- 递归函数汇总(二)
- xsl函数二
- 几个函数(二)
- 常用javascript函数(二)
- LoadRunner常用函数二
- ORACLE 函数 大全(二)
- PB函数大全二
- API函数导航(二)
- 友元函数(二)
- MongoDB C++ Driver 编译参数
- javaAPI(Collection单列集合2)
- 浅谈Scrum开发与启发式测试
- HTML5学习笔记简明版(1):HTML5介绍与语法
- Scrum敏捷实践之旅系列(一)用户故事概念
- 二、函数
- 我钟爱的HTML5和CSS3在线工具
- mybatis入门基础(四)----输入映射和输出映射---(转载)
- Bestcoder Round #48 1001、1002
- 使用Modernizr探测HTML5/CSS3新特性
- [LeetCode]Implement Stack using Queues
- ios 静态库(static libarary) 的使用
- 图片水印(UIImage类目)
- quick cocos工程编译到手机上