美文网首页
C语言基础(5)函数

C语言基础(5)函数

作者: BadRosoul | 来源:发表于2018-10-10 19:43 被阅读0次
C语言基础(5)函数

1、函数的本质作用是实现代码的复用和可读性。

2、函数中[ ]的三种作用:

①声明变量时由[ ],表示声明的变量时数组变量;

②函数参数由[ ],此时表示指针;

③地址+[ ],表示下标运算。

3、参数列表

不需要传入参数,需要添加void,否则视为参数个数不确定,写了才表示不接受参数。

4、函数调用时如果只有函数名(比如Find)而没有加上(),那么实际上是在使用函数所占空间的首地址。另外,对函数名Find取地址&Find和Find是等价的。

函数调用的本质是:函数地址*(参数列表),函数名就是函数地址

5、函数声明

主函数里调用的函数,得在主函数之前就已经定义和声明,另外函数是不能嵌套的,只能在函数里调用其他函数。

函数声明的形式:函数头+;比如 void Plus(int a,int b);

作用:将函数声明放在开头后,函数的定义顺序不影响函数的调用,即使是当前调用的函数也可以在代码末尾编写函数体和定义功能。

注意点:

①防止互相调用或者调用自己从而导致死循环;

②函数声明后一定要有函数定义(也就是实现功能的代码段),否则无法调用;

③函数声明可以有多个,但是定义只能有一个。

7、return

return+一个参数    用于一个有返回值的函数,作用是终止函数。

return;   用于无返回值的函数,作用是终止函数。

return一次只能返回一个值,

return 4,5;的结果是返回了5,(a1,a2,a3....)这样由“,”隔开的多个参数构成的逗号表达式,最右端的参数有效。

但是return可以返回一个地址:

int *fun(void)

{

int *p=(int *)malloc(sizeof(int)*2);

*p=4;

p[1]=5;                                               //等价于*(p+1)=5

return p;

}

int *a=fun();

free(a);

a[0],a[1]可以访问到返回的指针指向的两个int型参数。

注:不能返回一个栈区的空间,必须得用malloc申请堆区的局部地址空间。

因为栈区的作用域只在函数体内,函数调用结束时就会被释放,函数体外调用从而获得的返回值是非法访问,属于越界。

相关文章

  • C语言基础(5)函数

    1、函数的本质作用是实现代码的复用和可读性。 2、函数中[ ]的三种作用: ①声明变量时由[ ],表示声明的变量时...

  • iOS开发 -- C语言基础3(函数)

    iOS开发 -- C语言基础3(函数) 什么是函数 一、函数的分类 C语言中的函数就是面向对象中的"方法",C语言...

  • C语言基础及指针⑤动态内存分配

    接续上篇C语言基础及指针④函数指针 在上一篇我们了解C语言中的函数及函数指针 , 使用函数指针 , 模拟了网络请求...

  • C语言基础函数

    函数: 优点:提高代码的简洁性;提高代码的重用性;有利于程序的维护; 函数的分类:系统函数:printf(),sc...

  • 函数基础——C语言

    函数的基础: 函数的意义:函数是将 能够完成某一个特定算法的一整段代码进行归纳封装。当程序下次还要执行相似算法的时...

  • C语言基础----函数

    C语言面向过程,按照顺序执行,如果想放在前面,可以添加头文件、 指针函数和函数指针 指针函数是指带指针的函数,即本...

  • C语言基础教程之递归

    一文读懂C语言递归算法,C语言基础教程之递归 C语言递归 递归指的是在函数的定义中使用函数自身的方法。 从前有座山...

  • 05函数

    C语言中的函数可以帮助我们编写大型应用程序,同时c中的函数也是oc语言函数(方法)的基础 任何一个应用程序都包含的...

  • 从C到C++

    C++语言是以C语言为基础,对C语言进行了加强,如类型加强,函数加强和异常处理,最重要的是,C++加入了面向对象支...

  • 【Linux shell学习笔记-16-gawk进阶5】

    5.格式化打印 gawk中有同C语言中的printf函数一样用法的函数,如果熟悉C语言的printf函数用法,对g...

网友评论

      本文标题:C语言基础(5)函数

      本文链接:https://www.haomeiwen.com/subject/mmymaftx.html