• C语言中变量和函数类型


    extern和static都可以用来修饰变量和函数,有什么区别呢,用法是什么样的呢。

    1.变量

    按存储类型划分,C语言中变量的类型有4中,分别为

    自动变量  关键字auto,该关键字是可以省略的,比如 int i;变量i就是自动变量

    外部变量  关键字extern,之所以称外部变量,是因为变量要在外部,即其他文件中使用。全局变量一般使用外部变量存储。如果外部变量使用在前,定义在后,或者引用其他源文件中的外部变量,必须使用extern对其进行外部声明。

    静态变量  分为静态全局变量和静态局部变量。静态全局变量只能在当前源文件内使用。静态局部变量的作用域是调用该变量的函数体,但程序的整个运行过程中,它自始至终占用被分配的内存空间。

    寄存器变量  变量放于cpu寄存器内,由于编译器已经对变量进行了优化处理,所以基本不用到此类类型。

    关于全局变量个局部变量,在同一个原文件中,允许全局变量和局部变量同名,在局部变量的作用域内,全局变量不起作用。

    2.函数

    函数分外部函数和内部函数。

    外部函数:函数可以被其他源文件使用,定义外部函数,在函数前面加关键字extern,通常省略extern,默认为外部函数。、

    内部函数:函数只能被本文件的其他函数调用,定义内部函数时,在函数前面加关键字static。 

    之所以要弄这么多的类型出来,是为了满足不同的功能需要,同时增强源文件的可读性、独立性和可移植性。

  • 相关阅读:
    免费的数据库建模工具
    [原创]程序设计 异常处理总结
    C#混淆器 xenocode 使用说明
    [转载]Quartz.net官方开发指南 第九课: JobStore
    [转载] Quartz Cron 表达式(时间格式的写法)
    calico+macvlan
    华为欧拉openEuler 更新源没有main路径
    Difference between "genmask" and "netmask"?
    left join、right join和join的区别
    SQL查询时根据类型条件转换
  • 原文地址:https://www.cnblogs.com/Romi/p/2645791.html
Copyright © 2020-2023  润新知