zoukankan      html  css  js  c++  java
  • C语言学习笔记-7.函数

    一、函数的使用

    1.每个函数在使用之前必须先定义

        例:void function();       //有分号

              int main() {…}

              void add() {…}       //无分号

    2.文件包含处理:

       #include <文件名>       在库函数头文件所在目录中查找(标准方式)

       #include “文件名”      先在当前工作目录中查找,若没有则使用标准方式

    3.函数的调用

        形参:定义一个函数时指定的参数

        实参:调用一个函数时指定的参数

                 注:C语言规定只能由形参传给实参

    二、函数变量的作用范围

    1.局部变量的作用范围是它所在的整个函数(包括main函数)

       形参可以视为局部变量

    2.全局变量的作用范围:从定义这个变量的位置开始,至程序结束

       如果在同一源文件中,全局变量与局部变量同名,则在局部变量的作用域内,全局变量将被屏蔽

    3.函数的调用:

         控制流:语句执行的顺序

         数据流:在函数调用发生及结束时,数据在函数之间流转的过程,如参数的传递、返回

    三、函数调用的实现过程

    1.进程的内存分布

    操作系统  
    代码  
    数据段 编译器用来存储字符串常量的地方
    主要用作动态申请的内存空间
    栈  S1 在调用一个函数时,系统在栈空间中自动分配一块区
         S2 域给这个函数,用来存放形参和局部变量等信息
         ……  
    全局变量  

    2.全局变量会被初始化为0

    四、数组与函数参数

    1.函数定义:double averagee(int a[], int n) {…}

       函数调用:average(score, n);

         注意:数据类型必须一致

                  由于形参数组名实质上是指针,所以定义时可以不指定大小

                  由于数组名不带有长度信息,因此需增加一个参数,用来传递数组的长度

    五、变量的存储属性

    1.存储类型:

    auto(自动型) 默认局部变量,属于默认类型
    register(寄存器型) 存储在CPU寄存器中,优点:效率高,缺点:个数少,只能为int型
    static(静态型) 性质:全局寿命,局部可见性,可继承性
    extern(外部型) 不是变量定义,只是扩展外部变量作用域(范围:变量定义位置到源文件结束,及其他有extern说明的)
  • 相关阅读:
    永恒之蓝漏洞复现及留下隐藏后门nc及关闭主机防护开启后门
    python实现的分离免杀(包含pyinstaller的安装与使用)
    免杀一句话木马,人才太多了
    cs利用smb上线出网与不出网主机
    linux反弹shell的各种姿势
    使用frp把目标端口的服务代理出来
    使用frp进行内网穿透(内网隧道搭建)
    CS与msf的shell互相传递
    Python 图形验证码识别与利用
    Python Selenium 渗透测试中的使用
  • 原文地址:https://www.cnblogs.com/trj14/p/4282733.html
Copyright © 2011-2022 走看看