c语言函数笔记19之函数3
2016-05-31 23:21
281 查看
库函数:
由C语言系统提供;
用户无须定义,也不必在程序中作类型说明;
只需在程序前包含有该函数定义的头文件;如sytem函数就要包含stdlib.h这个头文件,也就是从商店里买的镰刀,已经固定了
自定义函数:
用户在程序中根据需要而编写的函数;自己打磨的镰刀,可以任意形状
和变量一样,要想使用一个函数,定义是不可缺少的,函数定义有4个要素:参数列表,返回类型,函数名和函数体,参数列表和返回类型对应着输入输出,函数名用于和程序中其他程序实体区分,而函数体是一段可执行的代码块,实现特定的算法或功能。
函数的基本定义语法如下:
返回类型 函数名(参数列表)
{
函数体;
}
(1)输入:参数列表
基本形式为:
类型 变量名1,类型 变量名2,类型 变量名3,……
(2)输出:返回类型
返回类型用于指明函数输出值的类型,如果没有输出值,返回类型为void。如果在函数定义时没有注明返回类型,默认为int。
(3)函数名
函数名用于标示该函数,和其他函数区分开来,因此,函数名必须是合乎编译器命名规则的标识符。
参数列表、返回类型和函数名总体称为函数头,与之对应的是函数体。
(4)函数体
函数体是一段用于实现特定功能的代码块,比如局部变量声明和其他执行语句等。注意,在函数体内声明的变量不能和参数列表中的变量同名。
打造了一把镰刀是为了割草,定义一个函数是为了调用,函数调用有两种类型,一是“先定义,后调用”,也就是这把镰刀是在你自己家里打造,自己家里用。这要求函数定义和调用语句在同一个文件内,编译器能从函数定义中提取函数的参数列表、输出类型等接口信息。二是“函数声明+函数调用”,也就是镰刀是在锻造厂打造,然后那会家里使用。大多数情况下,函数的定义与函数的调用并不在一个文件内,即使在一个文件中也有可能调用在前而定义在后,这时需要在调用之前先对函数声明,告诉编译器有这么一个函数存在,函数原型声明将在后面讨论,下面来看一个先定义、后调用的例子
注意:
函数的定义在程序中都是平行的,即不允许在一个函数的内部再定义另一个函数;
函数名是用户自定义标识符,当函数值为整型时类型名可省略(不推荐省略);当函数不需要向调用处返回值时,使用void类型名
形参表中的形参是用户自定义标识符,没有参数时,圆括号不能省略,此时函数为无参函数。
由C语言系统提供;
用户无须定义,也不必在程序中作类型说明;
只需在程序前包含有该函数定义的头文件;如sytem函数就要包含stdlib.h这个头文件,也就是从商店里买的镰刀,已经固定了
自定义函数:
用户在程序中根据需要而编写的函数;自己打磨的镰刀,可以任意形状
和变量一样,要想使用一个函数,定义是不可缺少的,函数定义有4个要素:参数列表,返回类型,函数名和函数体,参数列表和返回类型对应着输入输出,函数名用于和程序中其他程序实体区分,而函数体是一段可执行的代码块,实现特定的算法或功能。
函数的基本定义语法如下:
返回类型 函数名(参数列表)
{
函数体;
}
(1)输入:参数列表
基本形式为:
类型 变量名1,类型 变量名2,类型 变量名3,……
(2)输出:返回类型
返回类型用于指明函数输出值的类型,如果没有输出值,返回类型为void。如果在函数定义时没有注明返回类型,默认为int。
(3)函数名
函数名用于标示该函数,和其他函数区分开来,因此,函数名必须是合乎编译器命名规则的标识符。
参数列表、返回类型和函数名总体称为函数头,与之对应的是函数体。
(4)函数体
函数体是一段用于实现特定功能的代码块,比如局部变量声明和其他执行语句等。注意,在函数体内声明的变量不能和参数列表中的变量同名。
打造了一把镰刀是为了割草,定义一个函数是为了调用,函数调用有两种类型,一是“先定义,后调用”,也就是这把镰刀是在你自己家里打造,自己家里用。这要求函数定义和调用语句在同一个文件内,编译器能从函数定义中提取函数的参数列表、输出类型等接口信息。二是“函数声明+函数调用”,也就是镰刀是在锻造厂打造,然后那会家里使用。大多数情况下,函数的定义与函数的调用并不在一个文件内,即使在一个文件中也有可能调用在前而定义在后,这时需要在调用之前先对函数声明,告诉编译器有这么一个函数存在,函数原型声明将在后面讨论,下面来看一个先定义、后调用的例子
注意:
函数的定义在程序中都是平行的,即不允许在一个函数的内部再定义另一个函数;
函数名是用户自定义标识符,当函数值为整型时类型名可省略(不推荐省略);当函数不需要向调用处返回值时,使用void类型名
形参表中的形参是用户自定义标识符,没有参数时,圆括号不能省略,此时函数为无参函数。
相关文章推荐
- C++中模板的特化与偏特化
- 有限状态机与行为树的C++学习与实践sudo apt-get install libxmu-dev sudo apt-get install libxmu-dev libxi-dev
- c++
- Thinking in c++ 第三章
- 一起talk C栗子吧(第一百六十一回:C语言实例--套接字通信模型二)
- C语言中的定义和声明的区别
- leetcode_c++:Insert Intervals(057)
- Ubuntu下配置和编译cpp-ethereum客户端
- C和C++的区别:const
- c++基础:学生成绩
- leetcode_c++:Merge_Intervals(056)
- C语言运行时库中哪些API在UWP中不可用?
- C++ 逆序输出不多于5位的正整数
- 【C++ 学习】03 做个遵纪守法的码农
- error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 解决方法
- leetcode #72 in cpp
- C++经验(一)
- 【C++ 学习】02 符号的十八般武艺
- C++中类对象的内存布局和占用空间
- C++11智能指针读书笔记;