《C Prime Plus》第九节笔记

第九节 函数


9.1 复习函数


  • 函数原型 function prototype
  • 函数调用 function call
  • 函数定义 function definition
  • 形参 实参
  • 典型的ANSI C函数的定义:
1
    返回类型 名称(形参声明列表)

9.2 ANSI C函数原型

  • 主调函数把它的参数储存在被称为栈(stack)的临时储存区
  • 错误导致无法编译,而警告仍然允许编译

9.3 递归

  • printf使用%p打印地址
  • 递归的优缺点
1
2
   1.优点是递归为某些编程问题提供了最简单的解决方案
   2.缺点是递归算法会快速消耗计算机的内存资源

9.4 编译多源代码文件的程序

  • scanf("%*s")跳至下一个空白字符

9.5 查找地址:&运算符

  • 一元运算符&给出变量的存储地址
  • PC地址通常用十六进制形式表示,每个十六进制对应四位
  • %p是输出地址的转换说明

9.6 更改主调函数中的变量

  • 典型例子:用函数交换两个值

9.7 指针简介

  • 指针(pointer)是一个值为内存地址的变量(或数据对象)
9.7.1 简介运算符 *
  • 使用间接运算符(indirection operator)找出内存地址所对应的值,又是也称为解引用运算符(dereferencing operator)
9.7.2 声明指针
  • 指针是一个新类型,需要声明指针所指变量的类型
1
2
3
    int * pi;
    char * pc;
    float * pf,* pg;
9.7.3 使用指针在函数间通信
  • 函数无法直接访问其他函数中的变量,这种限制访问保护了数据的完整性。但是,当确实需要在函数中访问另一个函数的数据时,可以把指针作为函数的参数。
  • 如果需要在被调函数中修改主调函数的变量,使用地址或指针作为参数。
发表了74篇文章 · 总计107.96k字
本博客已稳定运行
使用 Hugo 构建
主题 StackJimmy 设计