C语言中的static extern

简介: 转自博客 http://blog.chinaunix.net/uid-2512245-id-3549886.html     当一个源程序由多个源文件组成时,根据函数能否被其它源文件中的函数调用,将函数分为内部函数和外部函数。

转自博客
http://blog.chinaunix.net/uid-2512245-id-3549886.html

    当一个源程序由多个源文件组成时,根据函数能否被其它源文件中的函数调用,将函数分为内部函数和外部函数。

1 内部函数(又称静态函数)

    如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。
    定义一个内部函数,只需在函数类型前再加一个“static”关键字即可:
    static  函数类型  函数名(函数参数表)
    关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件
使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。


2 外部函数

    外部函数的定义:在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数,也就是我们最常用的函数形式。
    extern它可以用作一种格式上的提示,表明函数的定义可能在另一个源文件中,extern int f();与int f();本质上是一样的。

相关文章
|
10月前
|
编译器 C语言
【C语言】extern 关键字详解
`extern` 关键字在C语言中用于跨文件共享变量和函数的声明。它允许你在一个文件中声明变量或函数,而在其他文件中定义和使用它们。理解 `extern` 的使用可以帮助你组织和管理大型项目的代码。
897 3
|
C语言
【C语言】:static和extern的详细介绍和使用
【C语言】:static和extern的详细介绍和使用
133 1
|
10月前
|
存储 C语言
【C语言】static 关键字详解
`static` 关键字在C语言中用于控制变量和函数的作用域和生命周期。它可以用于局部变量、全局变量和函数,具有不同的效果。理解 `static` 关键字的用法有助于封装和管理代码,提高代码的可维护性和可靠性。
627 3
|
12月前
|
C语言 C++
C 语言的关键字 static 和 C++ 的关键字 static 有什么区别
在C语言中,`static`关键字主要用于变量声明,使得该变量的作用域被限制在其被声明的函数内部,且在整个程序运行期间保留其值。而在C++中,除了继承了C的特性外,`static`还可以用于类成员,使该成员被所有类实例共享,同时在类外进行初始化。这使得C++中的`static`具有更广泛的应用场景,不仅限于控制变量的作用域和生存期。
259 10
|
存储 C语言
【C语言函数】static和extern关键字修饰
【C语言函数】static和extern关键字修饰
|
存储 C语言
C语言学习记录——复习数据存储类别(auto、register、static、extern)
C语言学习记录——复习数据存储类别(auto、register、static、extern)
174 1
|
存储 C语言
C语言中static关键字的作用与用法解析
C语言中static关键字的作用与用法解析
|
存储 编译器 C语言
c语言中static关键字的作用
c语言中static关键字的作用
|
Java 编译器 C语言
从C语言到C++⑦(第二章_类和对象_下篇)初始化列表+explicit+static成员+友元+内部类+匿名对象(下)
从C语言到C++⑦(第二章_类和对象_下篇)初始化列表+explicit+static成员+友元+内部类+匿名对象
81 0
|
存储 C语言 C++
C语言中关键字auto、static、register、const、volatile、extern的作用
原文:C语言中关键字auto、static、register、const、volatile、extern的作用 关键字auto、static、register、const、volatile、extern这些关键词都是c++基础知识,我整理了一下,希望对新学的朋友们有用:(1)auto   这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。
1593 0