C语言 函数篇(20161219)

一、函数
1.函数的基本概念
函数是代码中功能相似,并且独立的代码,单独封装成一个独立的整体;
(1)函数优点
提高代码的简洁性,提高开发效率
提高代码的重用性;
有利于程序的维护。
(2)函数的分类

分类一:
系统函数:由C系统提供的函数,如:printf();fget();等
用系统函数时,只需将对应的头文件包含进来即可;
#include<stdio.h> ------> printf("hello!");
pow(a,b);//计算a的b次方
数学函数,编译不过去时,编译时最后加 -lm
自定义函数:
根据用户需求,自定义的函数
分类二:
有返回值的函数:
函数调用结束后,会返回一个值,给主函数
无返回值的函数:
函数结束后,无返回值。一般定义为void类型,即空类型
分类三:
有参函数:
参数可以任意多个

无参函数:

2.函数的基本定义:
(1)无参函数的定义

    DataType FuncationName()
    {   
        //函数体
        //可执行语句
    }

    注:函数名后的(),不可省略!!!

(2)有参函数的定义

    DataType FuncationName( Type arg1,Type arg2)//(参数列表)
    {
        //函数体
    }
    注:参数列表可以有多个,参数类型可以任意(相对)!!!

(3)函数的定义,函数的声明,函数的调用
函数的定义

    DataType FuncationName(参数列表)
    {
        //函数体
    }

函数的声明:

    DataType FuncationName( 参数列表);

注:
声明时,参数列表一定要和定义时的参数列表一致!!!!
声明的分号不可省略!!!!
放在函数被调用之前任意位置。
函数的调用:
FuncationName( value);
value:数值
注:
函数调用时,实参值的类型,一定要和函数定义时的形参列表一致!!!
函数调用可以再任何位置。
实参:
实际参数,即具体的数值。
形参:
形式参数,形参的定义和普通变量定义无区别!
注:函数名表示函数的入口地址。
函数之间没有优先级,函数之间都是等价的。函数调用不能形成闭环,以免陷入死循环。
形参在发生调用时分配空间!!!
在发生函数调用时,系统会默认将实参的值赋值给形参。

3.函数的返回值
无返回值的类型函数类型为:void

    DataType FuncName(参数列表)
    {
        //函数体
    }

DataType:决定了函数返回值的类型,
若是int,则返回值为int型,
若为double则返回值为double类型
如果函数的返回值能够在后面的代码中使用,则需要相同的类型的变量接收使用。
若是void类型的函数,则无返回值,return可有可无!!!!
若函数不是void类型,则必须要有return!!!!
4.return的作用:
(1)函数用到return,则函数结束,后面的代码不再执行,
(2)用于返回函数的值,执行结果
5.关键字
(1)变量分为全局变量和局部变量
全局变量:
在函数体之外定义的变量
其作用域从变量定义处开始,一直到本文件的结束。
在全局变量定义之前不可使用全局变量。
局部变量:
在函数体内定义的变量,其作用域仅限于整个函数。
函数结束时,局部变量自动消亡!因此不同函数中,可以使用相同变量名。
若全局变量与局部变量重名,则屏蔽全局变量
auto:
声明变量为动态变量,可省略

动态全局变量
作用域:从定义出开始,到文件末,
生命周期:
整个程序运行期间
动态局部变量
生命周期:仅限于定义该变量的函数中
如:

        auto int a=5;
        auto int i;

static:

声明变量为静态变量;
作用域:
从定义处,开始,到文件结束,
生命周期:
整个程序运行期间。
静态变量若定义时未初始化,则系统默认初始化为:0!!!
只初始化一次,再次使用时,调用上次结果,继续操作。
静态全局变量
静态局部变量
静态函数:stastic修饰函数,则此函数仅用于本文件,其他文件不可使用!!!
extern:
声明为外部变量:
extern int 变量/函数;//告诉编译器,此变量已在外部文件中定义

register:
寄存器变量:变量直接存放在寄存器中,CPU的寄存器个数有限,不可以定义多个寄存器变量。
速度快;
const:
常量,不可更改其值,

        const int num =5;//只读常量
        int const num=5;//只读常量
        const int *p;//值不可更改
        int const *p;//值不可更改
        int* const p;//地址不可更改
        const int* const p;//值和址均不可更改

6.函数的传参
值传参
地址传参
7.指针函数和函数指针
指针函数:
int *test();
返回一个局部地址是不允许的
注意返回值问题,返回的是一个地址

函数指针:
int (*pa)();
总结:今天的内容,掌握起来无障碍,对于算法的灵活性和简洁性不够好。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 1、c语言的函数有以下特点: (1)才源程序由函数组成,一个主函数main()+若干其他函数 C程序中的函数类似文...
    滕王阁序阅读 1,329评论 0 6
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,504评论 1 51
  • 一双棉鞋 在梦的记忆里,似乎就有过这么一双棉鞋,让我尝尽了渴望,牵动了我那双在寒风中的脚。 2008年的那年冬...
    梦一直在路上阅读 281评论 0 2
  • 上次看Meiya的《一个人的干锅啤酒》,里面有一个场景深深地印在我的脑海里。 一个黄昏,作者和丈夫去吃川味干锅。坐...
    琳琳七阅读 254评论 0 3
  • 我和男友谈了将近四年,四年,说长不长,说短,也不短了,四年的时间,我们磕磕碰碰,争吵过,流泪过,当然,也笑过,快乐...
    甜蜜的缺陷阅读 265评论 0 1