函数基础知识以及特殊点

简介: 函数基础知识以及特殊点
  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,进行操作


相关文章
|
5月前
|
存储 Python
牢记python语言基础知识
【6月更文挑战第20天】 `input` & `print` - `print()`支持任意数量的位置参数,默认用空格分隔,可通过`sep`和`end`定制输出。 - 可重定向`print`到文件,如`print("hello!", file=f)`。 - `flush=True`确保立即输出,避免大字符串滞后。 ## 2. 基本数据类型 - `str`, `bytes`, `int`, `bool`, `float`, `complex`。 - `bytes`是底层I/O的基础,`sys.stdout.buffer`处理字节输出。
53 5
牢记python语言基础知识
|
6月前
|
C++ 编译器 程序员
C++ 从零基础到入门(3)—— 函数基础知识
C++ 从零基础到入门(3)—— 函数基础知识
基础知识 函数
基础知识 函数
73 0
|
6月前
|
人工智能 C++
C/C++基础知识——函数
C/C++基础知识——函数
58 0
|
6月前
|
存储 Shell 程序员
Python 进阶指南(编程轻松进阶):七、编程术语
Python 进阶指南(编程轻松进阶):七、编程术语
63 0
|
算法 Unix 程序员
C++简介 C语言编程原理
C++简介 C语言编程原理
函数进阶
函数根据 **有没有参数** 以及 **有没有返回值**,可以 **相互组合**,一共有 **4 种** 组合形式 1. 无参数,无返回值 2. 无参数,有返回值 3. 有参数,无返回值 4. 有参数,有返回值
|
编译器 Python Windows
Python编程基础:函数的使用
在Python学习中函数的作用不言而喻,熟练的使用函数能让我们的代码更加的简洁,增加可读性。
120 0
Python编程基础:函数的使用
|
存储 小程序 JavaScript