全局静态函数加上static和不加上有啥区别呢 尽量详细点 可加分哦

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全局静态函数加上static和不加上有啥区别呢 尽量详细点 可加分哦相关的知识,希望对你有一定的参考价值。

static加上和不加上有什么区别呢 尽量详细点 我都晕了

静态函数只能是本源文件内可见,其他源文件可以定义同名函数
不加static的函数,可以被其他源文件中的函数进行调用 ,若定义同名函数会报错(或出现函数重载)
参考技术A gfhgfhgfhfghgf 参考技术B 你是说void add前面的static?追问

是的 加和不加有什么区别呢

追答

加了,组成一个程序的不同C++源程序文件都可以有自己的add(int)。
不加,组成一个程序的不同C++源程序文件总共只有一个add(int)。
等于:加了,连接器只要将不同目标码文件中同个外形的(函数名、参数相同)static函数分别放在程序的不同地址位置上就可以。不加,连接器就要比较,只能有一个这个外形的函数,多了报错。

c语言static在java语言区别

简略说下java的静态:

java语言是面向对象语言,存在类和对象。
全局变量如果变成静态的,那么作用域不再只是对象而是类。
java没有静态局部变量的说法!

C语言中的静态:

C语言是面向过程,没有类和对象概念。
变量分局部变量和全局变量。
1,加上static:
静态局部变量,即某个方法的内静态变量,该方法执行完该局部变量不被重置,该方法再执行,以静态局部变量上次结果继续参与运算。
静态全局变量,是的全局变量只能在当前文件中被访问,而全局变量,在别的文件中通过extern声明可以别的文件中访问。
static 修饰一个函数,则这个函数的只能在本文件中调用,和全局变量类似。

2,全局静态变量和局部静态变量,都在全局数据区分配内存,
并在声明的时候(如果没有赋值)自动初始化为 0

 

以上是关于全局静态函数加上static和不加上有啥区别呢 尽量详细点 可加分哦的主要内容,如果未能解决你的问题,请参考以下文章

静态存储变量STATIC有啥用举个例吧,好像和全局变量还有些联系啊

求c语言中static的用法,啥时候定义要加上他啊?

VC中public定义的变量与全局变量的区别??

java 类中函数前加和不加static有啥不同

c语言static在java语言区别

C++知识概要