• Static和extern关键字 c


    1. 对函数的作用; 函数有分类型;外部函数:和内部函数;
    2. 外部函数:可以被本文件和其他文件访问;
    3. 内部函数:只能被本文件访问;其他文件不能访问;
    4. 默认情况下,所有函数都是外部函数;
    5. extern是外部的意思;
    6. 完整的定义外部函数需要加上extern,因为默认情况下就是外部函数,可以省略extern;
    7. 完整的声明一个外部函数:extern void test();完整的定义外部函数也是在函数名类型前加上extern;
    8. extern的作用定义外部函数;声明外部函数;
    9. 定义一个内部函数;在函数类型前加上static;
    10. 如static void test(){printf(“1234");}
    11. 内部函数不能直接调用,但是可以间接调用;
    12. static void test2();需要先声明内部函数;
    13. void test(){test2();printf(“12312");}
    14. static test2(){printf(2323“");}
    15. 通过上面代码别人就可以间接调用test2();
    16. 整个项目中不允许有同名的外部函数;
    17. .
    18. 上面介绍的extern和static对函数的作用;下面是介绍对变量的作用
    19. 全局变量分两种:内部变量和外部变量;
    20. 内部变量只能被本文件访问,不能被其他文件访问;
    21. 外部变量:定义的变量能被本文件和其他文件访问;
    22. 默认情况下;所有的全局变量都是外部变量;如果大家都有相同的变量,证明他们占用的存储地址是相同的;
    23. 默认情况下,全局变量都是0;不同文件中的同名外部变量,都代表着同一个变量;
    24. static int b;定义内部变量;
    25. extern对变量的作用就是声明外部变量;
    26. 如果变量放在后面,但你在前面需要调用;需要在前面声明变量:用的语句是:extern int b;
    27. .
    28. static和extern对局部变量的作用;
    29. 当使用static定义局部变量的时候,开始分配了存储空间,当结束代码不会马上释放存储空间;会等到整个程序结束后,才会释放内存;会延长生命周期;
    30. 延长聚聚变量的生命周期:程序结束的时候,局部变量才会被销毁;并名优改变局部变量的作用域;
    31. void test(){static int b = 0;b++;print(“%d”,b);}
    32. 使用内部局部变量可以是所有的test函数都共享着一个变量b;
    33. static double pi = 3.14;表示pi调用的每一次的值都一样,不需要重复分配存储空间;
    34. static修饰局部变量的使用场合;a如果某个函数的调用频率特别高;b这个函数内部的某个变量值是固定不变的;
  • 相关阅读:
    Sql的同一机器不同数据库联合查询示例
    poi 公式自動重新計算
    js 取得文件大小
    java 读写文件
    Postman安装及入门实践(以百度搜索为例)
    PostmanTests模块测试方法记录
    HTML颜色代码
    网盘搜索器 v1.0
    线程知识点一:如何传入多个参数
    asp.net 实现省市级联<简单方法2>前台实现
  • 原文地址:https://www.cnblogs.com/williamliuwen/p/5367572.html
Copyright © 2020-2023  润新知