您的位置:首页 > 编程语言 > C语言/C++

C/C++语言中Static的作用详述

2011-04-01 13:38 435 查看
static的字面意思很容易把我们导入歧途, 其实它的作用有三条。   ??)先来介绍它的第一条也是最重要的一条:隐藏。   当我们同时编译多个文件时, 所有未加static前缀的全局变量和函数都具有全局可见性。 为C语言理解这句话, 我举例来说明。 我们要同时编译两个源文件, c, 另一个是main. c中定义的全局变量a和函数msg能在main. c中运用?前面说过, 所有未加static前缀的全局变量和函数都具有全局可见性, 此例中, a是全局变量, msg是函数, 并且都没有加static前缀, 因而对于另外的源文件main. c是可见的。   假如加了static, 就会对其它源文件隐藏。 例如在a和msg的定义前加上static, c就看不到它们了。 利用这一特性可以在不同的文件中定义同名函数和同名变量, 而不必担心命名冲突。 Static可以用作函数和变量的前缀, static的作用仅限于隐藏, 而对于变量, ?)static的第二个作用是坚持变量内容的持久。 static可以控制变量的可见范围, 说究竟static还是用来隐藏的。 虽然这种用法不常见, 但我还是举一个例子。 内存中所有的字节默许值都是0x00, 某些时候这一特点可以增加程序员的任务量。 然后把不是0的几个元素赋值。 假如定义成静态的, 就省去了一末尾置0的操作。 再比如要把一个字符数组当字符串来用, 但又觉得每次在字符数组末尾加’/0’太麻烦。 假如把字符串定义成静态的, 就省去了这个麻烦, 不妨做个小实验验证一下。   程序的运行结果如下  最后对static的三条作用做一句话总结。 首先static的最主要功能是隐藏, 其次因为static变量存放在静态存储区,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  语言 c 任务 存储