目录:

1. 【函数注意点】

2. 【函数目的】

3. 【函数格式】

4. 【函数定义前需明确的条件】

5. 【函数的形参、实参】

6. 【函数返回值注意点】

7. 【为什么要return】

8. 【C语言上手常见问题】

9. 【外部函数和内部函数

1. 函数注意点

· 每条语句后面必须有;号

· 除 “ ” 号内引用起来的地方,其它任何地方都不能出现中文

· main函数中的return 0;可以写,也可不写

· main函数前的int可以写也可以不写

· main函数后面()号不可省略

· 同一个程序中只有一个main函数(main函数是程序入口)

2. 函数目的

将一个常用的功能封装起来,方便以后调用,使代码更加整洁,增加可读性。

3. 函数格式

格式:                                                                例:定义一个返回值为 int 类型的 test 函数,包含 a,b 2个 int 类型的形参,返回 0 。

返回值类型 函数名 (形参列表)                         void test (int a, int b)
    {                                                                            {
       函数体(代码块)                                                   return 0;
    }                                                                            }

4. 函数定义前需明确的条件

· 有意义的名称(方便查阅、交流,减少沟通成本)

· 是否有形参?是否有返回值?它们的数据类型是什么?

5. 函数的形参、实参

形参:定义函数时函数名后面()号中的参数。

实参:调用函数时传入的参数。

注:

· 形参个数必须与实参一致。

· 函数体内部不能定义与形参一样名称的变量

· 函数内部的形参值不会影响到外部的实参值

· 一个函数可以没有形参或有无数个形参

6. 函数返回值注意点

· void 代表没有返回值

· 如果没有明确返回值类型,默认为 int 类型

· 就算明确了返回值类型,也可以不返回任何值

7. 为什么要return

告诉系统退出返回0为正常,除0以外为非正常退出。

8. C语言上手常见问题

· 函数是否可嵌套使用?   否

· 函数是否能重复声明?   是

· 函数是否能重复定义?   否

· 为什么能重复声明而不能重复定义函数?

C语言中声明函数是为了告诉系统,我们的代码中包含了声明的函数。而定义函数是函数的具体实现。重复定义的话系统会将其看成不同的函数,当函数名与返回值又相同,编译时便会报错。如果只声明,没有实现,则编译时不会报错,但链接时不会通过。

· 为什么编译时无报错,但运行时报错?

因为编译时只检测语法是否合理。如果合理,编译器会帮我们队程序进行链接操作,所以出现这种情况,肯定是代码不规范或逻辑错误导致。

9. 外部函数和内部函数

1.外部函数 
定义的函数能被本文件和其它文件访问(默认)。

注:不允许有同名的外部函数。

2.内部函数 
定义的函数只能被本文件访问,其它文件不能访问。

注:允许不同文件中有同名的内部函数。

【C语言】C语言函数的更多相关文章

  1. Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针

    Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针   1.1. java方法引用(Method References) 与c#委托与脚本语言js ...

  2. C语言字符串匹配函数

    C语言字符串匹配函数,保存有需要时可以用: #include <stdio.h> #include <stdlib.h> #include <string.h> # ...

  3. 转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文

    转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 C++常用库函数atoi,itoa,strcpy,strcmp的实现 作者:jcsu C语言字符串操作函数 1. ...

  4. [转]SQLITE3 C语言接口 API 函数简介

    SQLITE3 C语言接口 API 函数简介 说明:本说明文档属作者从接触 SQLite 开始认识的 API 函数的使用方法, 由本人翻译, 不断更新. /* 2012-05-25 */ int sq ...

  5. (转)PHP的语言结构和函数的区别

    相信大家经常看到对比一些PHP应用中,说用isset() 替换 strlen(),isset比strlen执行速度快等. 例子: if ( isset($user) ) { //do some thi ...

  6. Java之--Java语言基础组成—函数

    Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...

  7. C语言中的函数

    C语言中的函数 目录 概述——对函数的理解 C语言中函数的定义和声明 函数允许的参数类型 函数允许的返回类型 递归 概述 由于有些代码段在编写程序的时候经常会用到,此时我们为了减少代码文件的长度和增加 ...

  8. C语言文件操作函数

    C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * str ...

  9. 想精度高,可以考虑用c语言中的函数gettimeofday

    大家好: 在 win32 + bcb 时, 有个 GetTickCount() 返回第统启动到现在的 tick, 单位 ms.请问在 Linux + qt5 怎样实现呢? 如果用 QDateTime ...

  10. 函数指针玩得不熟,就不要自称为C语言高手(函数指针是解耦对象关系的最佳利器,还有signal)

    记得刚开始工作时,一位高手告诉我说,longjmp和setjmp玩得不熟,就不要自称为C语言高手.当时我半信半疑,为了让自己向高手方向迈进,还是花了一点时间去学习longjmp和setjmp的用法.后 ...

随机推荐

  1. WCF实现方法重载

    一.服务契约(包括回调契约)通过指定不同的OperationContract.Name来实现重载方法,当然代码部份还是必需符合C#的重载要求,即相同方法名称,不同的参数个数或参数类型 namespac ...

  2. 你必须知道ASP.NET知识------从IIS到httpmodule(第一篇)

    一.写在前面 最近有时间,顺便将这系列洗完,接着上文:IIS各个版本知识总结 这篇文章原本计划写到HttpHandler为止,但限于篇幅就写到httpmodule 本文有不足之处,求指正,希望我能将它 ...

  3. 【Swift学习】Swift编程之旅---ARC(二十)

    Swift使用自动引用计数(ARC)来跟踪并管理应用使用的内存.大部分情况下,这意味着在Swift语言中,内存管理"仍然工作",不需要自己去考虑内存管理的事情.当实例不再被使用时, ...

  4. ROS 常用命令字典

    版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5761448.html 该博文适合已经具备一定的ROS编程基础的人,快速查看ROS相关 ...

  5. Angular 1与 Angular 2之间的一些差别

    现在在用ng1.5.8做一个项目,ng的优点和特性我就不用多说了,ng1在陆续更新到1.5/1.6后就没再推出新版本了,ng2已经面世测试很久了,如同很多系统和框架一样,每个大的版本更新都会有新特性加 ...

  6. 开源通信(C#)__

    GitHub中的README文件,使用markdown格式的文件. 下面简单介绍下相关语法: 大标题: =================================== 大标题一般显示工程名,你 ...

  7. 使用.NET 4.0+ 操作64位系统中的注册表

    一.64位系统中的注册表 以 LocalMachine 中的启动项为例: 64位应用的注册表位置还是在: SOFTWARE\Microsoft\Windows\CurrentVersion\Run 而 ...

  8. C#调用Java方法(详细实例)

    C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具体例子把一个JAVA方法转换成可以由C#直接调用的DLL C#调用c++ C#调用 ...

  9. .Net 高效开发之不可错过的实用工具(转)

    .Net 高效开发之不可错过的实用工具(转) 本文摘自: http://www.cnblogs.com/powertoolsteam/p/5240908.html#3372237 Visual Stu ...

  10. 第 17 章 CSS 边框与背景[下]

    学习要点: 1.设置背景 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 边框和背景,通过边框和背景的样式设置,给元素增加更丰富的外观. 一.设置背景 盒模型的尺寸可以通过两种方式实现可见性, ...