c 函数
来源:互联网 发布:golang ide 编辑:程序博客网 时间:2024/05/17 08:12
函数三要素:函数名,形参,返回值类型
先看函数名:命名时我们应该注意命名一目了然(名称能够体现函数的功能)通常使用动词_名词(函数名具有自注释性)
函数名:是指针常量,保存函数存放的地址(即入口地址)
我们开始学习函数(或指针)时,总是出现这样一个程序
void swap(int a, int b)
{
int tmp;
tmp = a;
ab= b;
b = tmp;
}
int main()
{
int a = 5;
int b = 6;
swap(a,b);
printf(“a = %d,b = %d”,a,b);
}
那你们知道为什么这样不好交换两个数的值,而改为指着好呢就可以改变a, b的值吗?我们来看一个图来理解:
1.通过函数名找到函数的入口地址
2.给形参分配空间
3.传值:把实参变量对应空间的值传给形参
4.执行函数体里的语句
5.函数返回并释放内存空间
总结:读(不修改)实参变量对应空间的值,传实参变量名
写(修改)实参变量对应的空间的值,传实参地址
记住:return不能返回局部变量地址
函数指针
首先是个指针*p,然后它指向函数int ( *p)(int , int )
p = add;
函数指针的形参:函数指针指向的函数叫回调函数
补充:常见的内存错误原因:
1.内存分配未成功,却是用了它
2.内存分配虽然成功,但是未初始化就引用它
3.内存分配成功,并且已经初始化,但操作越过内存的边界
4.忘记了释放内存,造成内存泄漏
5.释放了内存却继续使用它
0 0
- [C/C++]C函数
- c 函数
- C函数
- C 函数
- C函数
- 【C++】函数
- C 函数
- C++:函数
- C函数
- [C++]函数
- C函数
- c 函数
- C函数
- [C++]函数
- C函数
- 【c++】函数
- 【C++】函数
- C 函数
- linux管理和进程(4)
- 2016 Multi-University Training Contest 1-1001---HDU 5723 Abandoned country(DFS+最小生成树)
- link
- ART探险(1) - oatdump看到的世界
- Team Foundation Server 2015 Update 3 RC 发布啦
- c 函数
- DDD领域驱动设计(Domain Driven Design)(转)
- 创业公司产品经理才是王道——一将无能,累死三军
- 公开 myfunctions 单元,里面有很多有用的函数
- UVA705Slash Maze
- 论docker中 CMD 与 ENTRYPOINT 的区别
- 大数据Spark “蘑菇云”行动前传第3课:在IDE下开发第一个Scala程序透彻解析及Scala控制结构详解实战
- setpriority()
- [2016/7/20][usaco 2.2]Preface Numbering