C语言函数

一、是什么?

是指编程中对一块功能代码的封装,可以理解一个程序片段

二、有什么用?

可以封装代码,方便调用,提高复用性

三、怎么用?

定义:  返回值类型  函数名(形参类型 参数名1….){代码块   返回值}

调用:  函数名(实参1,实参2….);

四、什么时候用?

当需要取封装一段代码实现一个对应的功能时候

五、有什么特点?

1.返回值类型不定义,默认是int,如果不需要具体返回值类型,用void,return可以省略.

2.是否要定义参数 看是否有未知内容参与运算,调用时参数必须对应,参数传递的是值

3.return可以有多个,但是如果执行到return 就不会再执行后面的代码,函数执行结束.

4.函数不调用不执行,执行顺序看调用顺序,

5.函数必须定义才能调用,但不能重复定义,不能嵌套定义.不能自己调用自己(死递归)

6.C语言中不允许作嵌套的函数定义 ,但是可以嵌套函数调用

函数的声明

一、是什么?

是对编译器的一个说明,用于告知系统在本函数中所调用的函数是什么类型.

如:定义的函数的返回值类型是什么,参数类型是什么.

二、有什么用?

可以告诉编译器我将定义什么函数,从而让别的函数能方便调用

三、怎么用?

把函数去掉{},拷贝到声明区域(函数里或外)就可以.

四、什么时候用?

当需要定义函数的时候

五、有什么特点?

1.仅声明可以不创建函数,但要调用必须定义函数

2.声明可以只有参数类型,省略参数名如:int add(int);

3.函数使用前应该声明,不声明的话默认为返回值为int类型来处理,很可能出错

4.声明区域可以在其他函数里或者函数外.只要放在本函数调用之前就可以

5.函数的返回值是什么类型就要用什么类型的变量去接

6.当被调函数的函数定义出现在主调函数之前时,在主调函数中也可以不对被调函数再作说明而 直接调用。

C语言的头文件

一、是什么?

是C语言中以.h结尾的文件.如:stdio.h

二、有什么用?

用于声明(描述)一个函数,把多个代码文件(如:a.c…..b.c等)中的函数,声明在这个文件中,以便于使用已经封装好的函数

三、怎么用?

定义:  新建一个以.h结尾的文件,把需要用到的函数的声明直接放在里面.

引用:自定义的头文件:#include “头文件名.h”

编译器类库里的头文件:#include

四、什么时候用?

当程序需要由多个c文件组成时

五、有什么特点?

1.在头文件中仅作声明,不做具体实现

2.在头文件有声明只能确保编译成功成.o文件,但不确保能链接成功

3.自定义的头文件引用时必须要有路径

#include的用法

一、是什么?

是C语言中的一个预处理指令

二、有什么用?

用于把一个文件的内容拷贝到所在位置

三、怎么用?

引用:自定义的文件:#include “文件路径和名称”

编译器类库里的文件:#include

四、什么时候用?

当程序需要用到别的文件时

五、有什么特点?

1.可以定义在函数内也可以在函数外

include可以包含头文件,也可以包含文本文件。include不一定非要写在第一行

2.必须包含路径.省略或./表示当前路径   /开头表示绝对路径  ../表示上一层路径

3.以#开头,后面不能加分号

include 语句之后不需要加 “;”(因为#include它使一个预处理指令,不是一个语句)

3.必须定义在要使用之前,否则可以编译通过生成.o文件,但不能链接成功

4.#include ” ” 包含的是一个用户定义的文件,可以是头文件,也可是普通文件

1、#include ” “在当前文件所在的路径下查找 2、如果上面没有找,到编译器include路径查找 3、如果编译器include路径下没有找到,系统的include路径下查找 4、如果上面三个都没有找到就报错了。

#include <>包含一个系统(编译器自带)的头文件1、编译器的include路径下查找2、如果没有找到就系统include路径下查找3、如果都没有找到就报错

形参和实参

定义函数的时候,函数名后面小括号中的参数,简称形参形式参数是什么样类型的数据,那么实际参数也必须是什么样的类型

函数内部不可以定义与函数形参同名的变量,因为形参与函数的代码是一个代码块

调用函数的时候,函数名后面小括号中的参数,简称实参

发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主 调函数向被调函数的数据传送。

参数的传递过程:

1.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因 此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。

2.实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。

3.实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。

函数的返回值

函数的值只能通过return语句返回主调函数。

return语句的一般形式为:return表达式;

或者为:return (表达式);

return的功能是计算表达式的值,并返回给主调函数!

在c语言中怎么返回引用参数,C语言函数 函数的声明 C语言的头文件 #include的用法 形参和实参 函数的返回值 - 猫扑天空...相关推荐

  1. c语言 引用定义变量,如何在c语言中定义及引用全局变量?

    如何在c语言中定义及引用全局变量? 答案:5  信息版本:手机版 解决时间 2019-10-03 10:30 已解决 2019-10-02 15:19 如何在c语言中定义及引用全局变量? 最佳答案 2 ...

  2. [转载] c语言中检查命令行参数_C中的命令行参数

    参考链接: Java中的命令行参数 c语言中检查命令行参数 Command line argument is a parameter supplied to the program when it i ...

  3. c语言中只能逐个引用6,C语言前面六个练习.doc

    C语言前面六个练习 第一章 C语言基础知识 4.一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数 2.一个函数由两部分组成,它们是 函数体 和 函数的说明部分. 3.函数体的范围是 大括号 ...

  4. C语言中的强符号与弱符号(关于变量声明与定义的深入讨论)

    看到一篇介绍C语言强符号与弱符号的文章非常好,转载过来加深印象. 原文地址:http://blog.csdn.net/astrotycoon/article/details/8008629 ===== ...

  5. 引用头文件#include queue出错

    为什么80%的码农都做不了架构师?>>>    在工程头文件中引用头文件 #include <queue> 莫名奇妙出错,其原因很可能是由于头文件引用问题. includ ...

  6. Visual Studio 中使用万能头文件 #include bits/stdc++.h

    进行各种练习赛后,看题解代码时经常会看到这么一个陌生的头文件 #include <bits/stdc++.h> ,这个头文件是一个C++万能头文件,里面包含了程序比赛中所有可能用到的头文件 ...

  7. Visual Studio 中使用万能头文件 #include <bits/stdc++.h>

    Visual Studio 中使用万能头文件 #include 前言 最近开始使用VS,之前用的DEV C++软件可直接使用 #include <bits/stdc++.h> ,但VS中并 ...

  8. c语言中整常数3种表示形式,20春地大《C语言程序设计(新)》在线作业二满分

    地大<C语言程序设计(新)>在线作业二9 C+ F2 D4 g, k+ H 1.[单选题] 以下对C语言函数的有关描述中,正确的是:______.(        ) & p( d ...

  9. r语言中的或怎么表示什么不同_R经典入门 之 R语言的基本原理与概念 -- 200430

    一.基本原理 R是一种解释型语言,输入的命令可以直接被执行,不同于C等编译语言需要构成完整的程序才能运行. R的语法非常简单和直观.合法的R函数总是带有圆括号的形式,即使括号内没有内容(如,ls()) ...

最新文章

  1. Superset配置hive数据源
  2. max7219驱动共阳点阵
  3. mysql if begin end_MySQL存储过程例子,不能在if else里面用begin end否则会报错Erro_MySQL...
  4. Jodd - Java界的瑞士军刀轻量级工具包
  5. numpy 二维、高维矩阵重新排列轴与数据(轴转换)
  6. 第1篇--基于jdk7和jdk8分析 JVM的内存区域
  7. mysql读写分离(PHP类)
  8. HTML CSS学生网页设计,网页设计与制作(HTML+CSS)
  9. jquery 的模块化
  10. python提取html表格_用Python抓取HTML表格
  11. 程序员到底是干什么的?请不要再黑程序员了
  12. 游戏开发中防外挂的那些事儿
  13. 将【axmol】引擎的OpenAL实现在iOS平台替换openal-soft详细过程
  14. angularjs 关于Module 'ngLocale' is not available! is misleading
  15. 微信小程序做留言板是不是需要服务器,微信小程序怎么做个简单留言板?
  16. android加密、签名相关
  17. 欧拉回路(混合图的欧拉回路)
  18. 拼音中文首字母大写查询
  19. (附源码)springboot 在线考试系统 毕业设计461317
  20. 布尔运算(ps尚硅谷学习)

热门文章

  1. 【OpenCV】SURF图像拼接和Stitcher拼接
  2. 苹果手机壳_化至繁归至简,苹果11 Pro手机壳尽显非凡品位
  3. 痞子衡嵌入式:浅谈i.MXRT1xxx系列MCU时钟相关功能引脚的作用
  4. ASP.NET Core 配置和使用环境变量
  5. WiFi伴侣WP版本上线
  6. linux 中 rm - rf /*的魅力
  7. elasticsearch7.7安装部署
  8. 利用Google Translator作为代理向受感染计算机发送任意命令并执行(Google Translator Reverse Shell) Poc详解...
  9. 项目计划管理软件:GanttProject
  10. topic model(LDA 主题模型)