函数基础知识以及特殊点

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


相关文章
|
11月前
|
人工智能 Unix Java
[oeasy]python059变量命名有什么规则_惯用法_蛇形命名法_name_convention_snake
本文探讨了Python中变量命名的几种常见方式,包括汉语拼音变量名、蛇形命名法(snake_case)和驼峰命名法(CamelCase)。回顾上次内容,我们主要讨论了使用下划线替代空格以提高代码可读性。实际编程中,当变量名由多个单词组成时,合理的命名惯例变得尤为重要。
395 9
|
存储 自然语言处理 关系型数据库
MySQL学习笔记-优化器选索引的因素
MySQL学习笔记-优化器选索引的因素
256 0
|
人工智能 安全 搜索推荐
数字化转型“角力战”,这款低代码平台助力企业火力全开
数字化转型“角力战”,这款低代码平台助力企业火力全开
398 0
数字化转型“角力战”,这款低代码平台助力企业火力全开
|
设计模式 前端开发 JavaScript
前端实现设计模式之迭代器模式
迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供一种顺序访问聚合对象中各个元素的方法,而又不暴露聚合对象的内部表示。在前端开发中,迭代器模式常用于遍历数组、集合或其他可迭代对象,并提供统一的访问方式。本文将介绍如何在前端中实现迭代器模式,并提供具体的代码示例和解读。
225 0
|
4天前
|
云安全 人工智能 自然语言处理
|
8天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
786 17
|
11天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
797 59
Meta SAM3开源:让图像分割,听懂你的话

热门文章

最新文章