当前位置: 首页 > news >正文

C语言总结_function

目录
  • function
    • 引子
    • 函数的组成部分
    • 自定义函数的声明,定义,调用
      • 代码示例
    • 变量的作用域以及生命周期
      • 全局变量
      • 局部变量
      • 局部静态变量
    • 从计组看函数调用

function

引子

什么是函数?
如你之前在数学所学,函数表示了变量之间的变换关系,是问题的主要解决方式。在编程语言中,函数是实现程序功能的主要载体。
在面向对象中也被称为方法

int main(void)
{
}

这是任何一段C语言程序都必须的main函数

  • C语言程序运行的入口就是main函数。
  • 任何一个C语言程序,有且仅有一个main函数(唯一入口)
  • Arduino 框架下,main被包含进setup()中

函数的组成部分

  • 函数类型
    这个函数返回一个什么类型的变量
    void(无返回值),int,float,int*....
    函数最多只有一个返回值,多变量修改需要使用指针
  • 函数名称
  • 函数参数
    函数传入什么类型的变量

自定义函数的声明,定义,调用

代码示例

#include <stdio.h>   //头文件引用
#define PI 3.1415    //宏定义int global_variables;  //全局变量
int global_a = 0;int add(int a ,int b);  //函数声明int main(void)
{int local_variables = 1 ; //局部变量static int static_L_V;    //局部静态变量int* p =(int *)malloc(10 * sizeof(int)); //动态内存管理free(p);int a=b=1,c;c=add(a,b);  //函数调用print(c);
}int add(int a ,int b)
{//函数定义return a+b ;
}

变量的作用域以及生命周期

全局变量 局部变量
静态变量 全局变量就是静态的 函数作用域内static声明
动态变量 涉及动态内存分配

全局变量

  • 存储在堆内存,程序运行时候分配内存,程序结束内存释放,作用域为整个程序
  • 在所有函数外声明,任何函数可以调用
  • 太多会影响程序的可移植性(参考c++命名空间)
变量类型 作用域 生命周期
全局变量 整个程序 整个程序

局部变量

  • 存储在栈内存,函数调用,内存分配,函数结束,内存释放,作用域为该函数
  • 在函数内部声明,仅供该函数调用。
  • 可以与全局变量重名,重名后对该变量的任何操作是对局部变量的操作
变量类型 作用域 生命周期
局部变量 该函数 该函数

局部静态变量

  • 声明时候使用static关键字
  • 在函数内部声明,仅供该函数调用
  • 函数结束不释放,意味着该值保存供函数下次调用时候使用
变量类型 作用域 生命周期
局部静态变量 该函数 整个程序

从计组看函数调用

http://www.sczhlp.com/news/10928/

相关文章:

  • 类与对象 内存管理习题
  • gpgpu
  • SpringBoot3.5.4 整合Shiro时 运行失败,检查思路及最终解决方案
  • 优先级调度器和`时间轮`调度器
  • golang elastic search操作示例
  • xaml在线设计
  • 小白指南(三)——在Windows系统上安装minio存储系统
  • matlab实现利用双MZI产生RZ33-QPSK信号
  • 杂题做题日志
  • 自动驾驶 HIL 测试:构建 以假乱真 的实时数据注入系统
  • 牛 CDR3 单抗的开发难点与技术优化
  • 跨网文件传输系统:突破限制,以卓越传输能力护航数据流通!
  • 供应商协同平台如何实现供应链协作效率提升300%?
  • 2025年最新项目管理工具十强:国产化与智能化双轨革新
  • Chrome 下载文件时总是提示“已阻止不安全的下载”的解决方案
  • Codeforces 2007B Index and Maximum Value 题解 [ 橙 ] [ Ad-hoc ] [ 线段树 ] [ 平衡树 ]
  • C#自学笔记:预处理指令
  • 读书笔记:卡片笔记写作法
  • kettle插件-kettle http post plus插件失灵了?继续迭代优化轻松调用公卫高安全系数接口
  • 华为_NAT
  • 发电
  • 华为
  • dp11
  • js字符串内插
  • echarts免费的地址
  • 高级SQL语法问题
  • 【IEEE出版】第五届机械制造与智能控制国际学术会议(ICMMIC 2025)
  • 2025信友队暑假集训记录
  • 282、赤壁
  • 导航