嵌入式学习笔记总结Days10

今天主要学习了c语言中的函数部分。

一、概念

c语言中的函数是为了实现某一个功能的

函数的定义方法:

类型标识符 函数名(形式参数)
{
    声明部分
    语句部分
}

注意 :(1).类型标识符 (返回值的类型标识符)
   返回值类型 
        返回值 如果没有,返回值类型 一般写成void 
        返回的结果的类型 与 定义返回值类型 不一致 ,以定义的返回值类型为准 
        返回值的类型如果不写,默认为int型 
(2).函数名   --- 一般和函数功能对应 
(3).形式参数 --- 函数接收数据的入口 
    形参 --不是一定要有 
          看函数功能的需要 
          形参没有,一般写成 void 
          
    形参使用时:
    a.个数相同 
    b.类型匹配 

(4).函数体   --- 完成函数具体功能的代码

        函数定义的位置一般在主函数前面或者主函数后面,但要注意的是当定义在主函数后面时,前面要调用该函数是要在调用前进行声明,声明的方式就是将函数头复制过来加个分号。

二、函数调用的原理

注意:c语言中将内存分为5个区域

1.栈

存放函数形参和局部变量,特点是自动申请自动释放,存在里面的数据先进后出。在linux操作系统中栈默认为8mb的大小,也可自行设置大小

2.堆

特点是非常大,需要手动申请,手动释放

3.全局区(静态区)

存放全局变量和静态变量

4.字符串常量区

存放字符串常量

5.代码区

存放程序的二进制代码,内存由系统管理

     在函数调用的过程中,常常要完成一个动作就是保护现场,通俗来讲就是当一个程序要跳往一个函数时,首先要将一些数据存放在栈中,最后返回main函数时就是通过保护现场时存放的数据来恢复现场。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值