c语言第二周总结-函数
2015-06-20 20:42
381 查看
函数 :
具有特定功能的代码段
定义: 返回值类型 函数名(形参列表){语句; return 返回值;}
数据类型 : void 空值,无返回值
三要素: 声明, 定义, 调用
* 注意 *
c语言允许函数嵌套调用, 但是不允许函数的嵌套定义
return 之后的代码永远不会被执行,不要在return之后写代码
一个函数只能有一个返回值。
main 函数,主程序的入口
函数声明:
1、函数定义出现在主调函数之前,可以省略函数声明。
2、函数定义出现在主调函数之后,需要提前声明函数。
函数声明与定义的位置
头文件(xxx.h)相当于 说明书, 函数的声明要写在.h文件中
实现文件(xxx.m)相当于,显示器, 函数的定义(实现)要写在.m文件中
函数的调用,要在main函数中调用
数组作为函数参数
把数组名传入,即数组的首地址
需要把数组元素的个数作为参数, 传入函数
例如
函数递归
函数实现体内再次调用函数本身。这种调用方式称为递归调用
递归一定要有出口.
变量的作用域
全局变量: 在函数外部定义的变量. 可以被任何地方被访问到,空间不会被回收(warning: 全局变量非常危险,慎用)
局部变量: 定义在函数内部,局部变量只在该函数内部可以被访问. 函数执行时开辟空间,函数执行结束,空间回收.
* 注意 *
外部变量和局部变量可重名,但是在局部变量作⽤用
域内只能访问局部变量。
static
静态变量: 用stati关键字修饰
特点: 1. 如果不赋初值,默认为0;
2.只初始化一次(该变量只定义一次)
3.只有在程序运行结束时,回收空间.
具有特定功能的代码段
定义: 返回值类型 函数名(形参列表){语句; return 返回值;}
数据类型 : void 空值,无返回值
三要素: 声明, 定义, 调用
* 注意 *
c语言允许函数嵌套调用, 但是不允许函数的嵌套定义
return 之后的代码永远不会被执行,不要在return之后写代码
一个函数只能有一个返回值。
main 函数,主程序的入口
函数声明:
1、函数定义出现在主调函数之前,可以省略函数声明。
2、函数定义出现在主调函数之后,需要提前声明函数。
函数声明与定义的位置
头文件(xxx.h)相当于 说明书, 函数的声明要写在.h文件中
实现文件(xxx.m)相当于,显示器, 函数的定义(实现)要写在.m文件中
函数的调用,要在main函数中调用
数组作为函数参数
把数组名传入,即数组的首地址
需要把数组元素的个数作为参数, 传入函数
例如
// 函数声明 给数组元素赋值 void assignment(int a[], int count); // 函数调用 int a[10] = {0}; assignment(a, 10);
函数递归
函数实现体内再次调用函数本身。这种调用方式称为递归调用
递归一定要有出口.
// 例如:阶乘就可以使用递归调用 int factorial(int a){ if (a == 0 || a == 1) { return 1; } return a * factorial(a - 1); }
变量的作用域
全局变量: 在函数外部定义的变量. 可以被任何地方被访问到,空间不会被回收(warning: 全局变量非常危险,慎用)
局部变量: 定义在函数内部,局部变量只在该函数内部可以被访问. 函数执行时开辟空间,函数执行结束,空间回收.
* 注意 *
外部变量和局部变量可重名,但是在局部变量作⽤用
域内只能访问局部变量。
static
静态变量: 用stati关键字修饰
特点: 1. 如果不赋初值,默认为0;
2.只初始化一次(该变量只定义一次)
3.只有在程序运行结束时,回收空间.
相关文章推荐
- C++文件读写详解(ofstream,ifstream,fstream)
- C++学习笔记(三)STL简介(二)
- 【leetcode c++】26 Remove Duplicates from Sorted Array
- Effective C++条款16解读:成对使用new和delete时要采取相同形式
- C语言一个双向链表的实现
- C语言单链表的实现
- Effective C++条款20解读:宁以pass by reference to const替换pass by value
- c语言第二周总结-数组2
- 黑马程序员——C语言基础知识整理——数据类型、常量与变量
- C语言下不使用日期函数输入任意日期计算周几的程序
- c语言第二周总结-数组
- C++引用计数智能指针
- C/C++里一些常用函数
- java和c++语言编程的异同之输出制定范围内的素数
- c语言第二周总结-循环语句
- 在VS2010上使用C#调用非托管C++生成的DLL文件
- C++基础知识
- C语言常规算数转换
- Effective C++条款26解读: 尽可能延后变量定义式的出现时间
- 单链表C++类模板实现