函数基础知识以及特殊点

简介: 函数基础知识以及特殊点
  1. 函数.(尽量高内聚低耦合)
  • C语言中函数的分类:
  • 库函数
  • 自定义函数
  • 但是库函数必须知道的一个秘密就是:使用库函数,必须包含 #include 对应的头文件。

这里对照文档来学习上面几个库函数,目的是掌握库函数的使用方法。

  • 需要学会查询工具的使用:MSDN(Microsoft Developer Network)

www.cplusplus.com

cppreference.com(英文版)

cppreference.com中文版

  • 形参和实参

实参:真实传给函数的参数,叫实参。


实参可以是:常量、变量、表达式、函数等。


形参:形式参数是指函数名后括号中的变量,因为形式参数只有在函数被调用的过程中才实例化(分配内


存单 元),所以叫形式参数。形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有


效。


例:函数调用exec((vl,v2),(v3,v4),v5,v6);中,实参的个数是:( )

例:

其中的a和b是实参,*px和*py是形参。


  • 函数的调用:

传值调用,将一个数值传过去,地址没有传过去


函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。


传址调用


传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式。


这种传参方式可以让函数和函数外边的变量建立起真正的联系,也就是函数内部可以直接操


作函数外部的变量


  • 函数嵌套

嵌套就是将一个函数在其他函数内调用,以此来循环利用,达到一个和循环类似的效果,但使代码缩减。

  • 链式访问

把一个函数的返回值作为另外一个函数的参数


  • 函数的声明

如果定义函数在使用函数后面的话,使用函数前要先声明函数,而声明函数要在主函数内声明


如果定义函数在使用函数前面的话,就可以不用声明直接使用函数。所以一般先定义函数在使用函数前面


  • 函数递归

递归说白了就是自己调用自己的函数,以此来达到函数的效果。


递归的两个必要条件


存在限制条件,当满足这个限制条件的时候,递归便不再继续。


每次递归调用之后越来越接近这个限制条件


例:递归方式实现打印一个整数的每一位

  • 函数栈帧的创建和销毁讲解
  • 寄存器

分为eax、ebx、ecx、edx、以及ebp和esp

每一个函数调用都得在栈区创造一个空间

main也是被其他函数所调用的。

__tmainCRTStartup这个函数的esp和ebp经历一些操作,为main函数创造出一个空间,然后再将ebx和esi和edi,进行操作


相关文章
|
7月前
|
C++ 编译器 程序员
C++ 从零基础到入门(3)—— 函数基础知识
C++ 从零基础到入门(3)—— 函数基础知识
基础知识 函数
基础知识 函数
83 0
|
7月前
|
存储 编译器 程序员
c语言从入门到实战——函数
C语言函数是一段可重复使用的功能代码,用于执行特定的任务。函数通常包括输入和输出,其输入是函数需要的参数,输出是返回值或输出参数。C语言中的函数定义包括函数名、返回类型、参数列表和函数体。 函数的定义通常放在程序的头部,而函数的实现则放在程序的主体部分。C语言中函数的定义和实现可以分别放在不同的文件中,通过函数声明来建立连接。 函数可以使用条件、循环、递归等程序设计技巧来完成各种任务。函数可以帮助我们编写更加清晰、模块化和易于维护的程序。
59 0
|
7月前
|
人工智能 C++
C/C++基础知识——函数
C/C++基础知识——函数
67 0
|
算法 C语言
5道经典基础编程题让你入门C语言
5道经典基础编程题让你入门C语言
117 2
|
SQL 自然语言处理 Java
C语言入门(一)——程序的基本概念
C语言入门(一)——程序的基本概念
C语言入门(一)——程序的基本概念
|
算法 程序员 编译器
『C语言从入门到进阶』第 ③ 期 - 函数
『C语言从入门到进阶』第 ③ 期 - 函数
91 0
函数进阶
函数根据 **有没有参数** 以及 **有没有返回值**,可以 **相互组合**,一共有 **4 种** 组合形式 1. 无参数,无返回值 2. 无参数,有返回值 3. 有参数,无返回值 4. 有参数,有返回值
|
编译器 Python Windows
Python编程基础:函数的使用
在Python学习中函数的作用不言而喻,熟练的使用函数能让我们的代码更加的简洁,增加可读性。
125 0
Python编程基础:函数的使用
下一篇
DataWorks