黑马程序员--iOS基础知识---C语言中的函数
2015-07-30 20:58
381 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1.函数的概念
一个较大的程序可分为若干个程序模块,每一个模块用来实现一个特定的功能。在高级语言中用子程序实现模块的功能。子程序由函数来完成。一个C程序可由一个主函数和若干
个其他函数构成。由主函数调用其他函数,其他函数也可以互相调用。所有函数都是平行的,即在定义函数时是分别进行的,是互相独立的。一个函数并不从属于另一
函数,即函数不能嵌套定义。函数间可以互相调用,但不能调用main函数。main函数是系统调用的。
2.函数的定义与调用
类型标识符 函数名(形式参数)
{
声明部分
语句部分
}
在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。只有在发生函数调用时,函数max中的形参才被分配内存单元。
在调用结束后,形参所占的内存单元也被释放。
在C语言中,实参向对形参的数据传递是“值传递”,单向传递,只由实参传给形参,而不能由形参传回来给实参。
在内存中,实参单元与形参单元是不同的单元。
通过return语句可以获得函数的返回值。
int max(int x,int y)
{
return(x>y?x∶y);
}
函数调用的一般形式为:
函数名(实参表列)实参的求值顺序根据系统而定,一般是从右至左的。
如果使用用户自己定义的函数,而该函数的位置在调用它的函数(即主调函数)的后面(在同一个文件中),应该在主调函数中对被调用的函数作声明。
C语言不能嵌套定义函数,但可以嵌套调用函数,也就是说,在调用一个函数的过程中,又调用另一个函数。
3.递归函数
在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。
一般情况下不要使用,耗费存储空间。
4.变量作用域以及函数的作用域
在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,
在此函数以外是不能使用这些变量的。这称为“局部变量”。
在函数之外定义的变量称为外部变量,外部变量是全局变量。全局变量可以为本文件中其他函数所共用。
它的有效范围为从定义变量的位置开始到本源文件结束。
尽量不要使用全局变量。因为全局变量在程序的全部执行过程中都占用存储单元,而不是仅在需要时才分配内存。
使用全局变量过多,会降低程序的清晰性,人们往往难以清楚地判断出每个瞬时各个外部变量的值。
在各个函数执行时都可能改变外部变量的值,程序容易出错。因此,要限制使用全局变量。
变量的存储类别可以分为静态存储和动态存储。静态存储方式是指在程序运行期间由系统分配固定的存储空间的方式。
而动态存储方式则是在程序运行期间根据需要进行动态的分配存储空间的方式。
函数本质上是全局的,因为一个函数要被另外的函数调用,但是,也可以指定函数不能被其他文件调用。
根据函数能否被其他源文件调用,将函数区分为内部函数和外部函数。
如果一个函数只能被本文件中其他函数所调用,它称为内部函数。在定义内部函数时,在函数名和函数类型的前面加static。即
static 类型标识符 函数名(形参表)
如果函数开始是extern定义的,则为外部还是,如果没有,系统默认为外部函数。
1.函数的概念
一个较大的程序可分为若干个程序模块,每一个模块用来实现一个特定的功能。在高级语言中用子程序实现模块的功能。子程序由函数来完成。一个C程序可由一个主函数和若干
个其他函数构成。由主函数调用其他函数,其他函数也可以互相调用。所有函数都是平行的,即在定义函数时是分别进行的,是互相独立的。一个函数并不从属于另一
函数,即函数不能嵌套定义。函数间可以互相调用,但不能调用main函数。main函数是系统调用的。
2.函数的定义与调用
类型标识符 函数名(形式参数)
{
声明部分
语句部分
}
在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。只有在发生函数调用时,函数max中的形参才被分配内存单元。
在调用结束后,形参所占的内存单元也被释放。
在C语言中,实参向对形参的数据传递是“值传递”,单向传递,只由实参传给形参,而不能由形参传回来给实参。
在内存中,实参单元与形参单元是不同的单元。
通过return语句可以获得函数的返回值。
int max(int x,int y)
{
return(x>y?x∶y);
}
函数调用的一般形式为:
函数名(实参表列)实参的求值顺序根据系统而定,一般是从右至左的。
如果使用用户自己定义的函数,而该函数的位置在调用它的函数(即主调函数)的后面(在同一个文件中),应该在主调函数中对被调用的函数作声明。
C语言不能嵌套定义函数,但可以嵌套调用函数,也就是说,在调用一个函数的过程中,又调用另一个函数。
3.递归函数
在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。
一般情况下不要使用,耗费存储空间。
4.变量作用域以及函数的作用域
在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,
在此函数以外是不能使用这些变量的。这称为“局部变量”。
在函数之外定义的变量称为外部变量,外部变量是全局变量。全局变量可以为本文件中其他函数所共用。
它的有效范围为从定义变量的位置开始到本源文件结束。
尽量不要使用全局变量。因为全局变量在程序的全部执行过程中都占用存储单元,而不是仅在需要时才分配内存。
使用全局变量过多,会降低程序的清晰性,人们往往难以清楚地判断出每个瞬时各个外部变量的值。
在各个函数执行时都可能改变外部变量的值,程序容易出错。因此,要限制使用全局变量。
变量的存储类别可以分为静态存储和动态存储。静态存储方式是指在程序运行期间由系统分配固定的存储空间的方式。
而动态存储方式则是在程序运行期间根据需要进行动态的分配存储空间的方式。
函数本质上是全局的,因为一个函数要被另外的函数调用,但是,也可以指定函数不能被其他文件调用。
根据函数能否被其他源文件调用,将函数区分为内部函数和外部函数。
如果一个函数只能被本文件中其他函数所调用,它称为内部函数。在定义内部函数时,在函数名和函数类型的前面加static。即
static 类型标识符 函数名(形参表)
如果函数开始是extern定义的,则为外部还是,如果没有,系统默认为外部函数。
相关文章推荐
- 一份C++线程池的代码(转)
- C++类的访问问题
- 控制台下的计算器——C++实现
- 增量式PID算法的C语言代码
- C++ 全局变量、局部变量、静态全局变量、静态局部变量的区别
- C++中的四种cast
- c语言中的函数指针
- 读书笔记MoreEffectiveC++(35)
- C++ 嵌套类使用
- C++ 运算符 优先级
- 读书笔记MoreEffectiveC++(34)
- poj1061青蛙那啥,第一次弄欧几里德,各种问题各种请教
- const放在函数后面
- c++ 流基本概念
- c++引入额外开销的情况
- c++ 流基本概念
- C语言itoa()函数和atoi()函数详解
- n a^o7 !
- C++深度理解复杂链表的构造复制
- c++ 解决ifstream在断点debug下无法读取文件问题