社区
C语言
帖子详情
static变量应该怎么前置声明
chinham
2008-12-24 04:34:53
有一个大数组,只有一个文件用,所以想定义成static变量.但因为数据比较多,3600行左右.所以想放在文件尾部.如果文件前部函数要引用这个数组应该怎么前置声明.
用extern我觉得应该是其他文件中定义才用到的.
...全文
243
7
打赏
收藏
static变量应该怎么前置声明
有一个大数组,只有一个文件用,所以想定义成static变量.但因为数据比较多,3600行左右.所以想放在文件尾部.如果文件前部函数要引用这个数组应该怎么前置声明. 用extern我觉得应该是其他文件中定义才用到的.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
livpu
2008-12-24
打赏
举报
回复
定义到尾部跟定义到头部没有什么区别吧?
既然是static 就是全局变量了
全局变量是放到数据段的,跟文件的成员函数和局部变量不是一个区域。
看下面这道题:
-------------------------------------------------
2、问题:Static的理解
关于static变量,请选择下面所有说法正确的内容:
A、若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度;
B、若全局变量仅由单个函数访问,则可以将这个变量改为该函数的静态局部变量,以降低模块间的耦合度;
C、设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,需要考虑重入问题;
D、静态全局变量过大,可那会导致堆栈溢出。
答案与分析:
对于A,B:无需解释了。
对于C:所谓的函数是可重入的(也可以说是可预测的),即:只要输入数据相同就应产生相同的输出。
对于D:静态变量放在程序的全局数据区,而不是在堆栈中分配,所以不可能导致堆栈溢出,D是错误的。
因此,答案是A、B、C。
---------------------------------------------
winjaney
2008-12-24
打赏
举报
回复
2楼说的方法最好!这种数组的初始化一般都放在头文件中的!
sunyuqian
2008-12-24
打赏
举报
回复
像二楼朋友说的放头文件里是一个办法
xiaoyisnail
2008-12-24
打赏
举报
回复
不过你的数组是static的,就不能再是extern的了
太乙
2008-12-24
打赏
举报
回复
[Quote=引用 2 楼 xiaoyisnail 的回复:]
extern也可以用在本文件的前置声明
你也可以把那个数组放到一个头文件里,只在用到的地方include就行了
[/Quote]up
xiaoyisnail
2008-12-24
打赏
举报
回复
extern也可以用在本文件的前置声明
你也可以把那个数组放到一个头文件里,只在用到的地方include就行了
waizqfor
2008-12-24
打赏
举报
回复
应该只能用外部定义extern
C++结构体
前置
声明
出现"找不到类型"错误问题
一、想在一个结构体B中使用另一个结构体A,一个方法是我们直接把结构体A先定义在结构体B的前面然后再使用,这当然没有。但如果A定义在了B的后面而又想在中使用A结构体,该怎么办呢?我们当然能想到使用
前置
声明
,可我们在结构体B前面
声明
了结构体
变量
A然后在B中使用结构体A定义
变量
会报“找不到类型”的错误,这是怎么回事呢? 形如: struct test_A; struct test_B { test_A ...
static
使用相关详解
//01
static
.cc#include using namespace std; void Test1() {//局部静态
变量
//---1.只能使用在该函数作用范围,就是说在该函数函数体内可以使用(必须在定义结束后) //---2.若重复调用该函数,由于该静态
变量
a只定义一次,数据会使用改变了的 //---3.与普通局部
变量
的区别:静态局部
变量
只有当程序结束才释放内存,而普通局
Rust
变量
Rust
变量
的介绍:包含
变量
声明
、
变量
绑定、
变量
作用域和遮蔽及静态
变量
。
1. include和
前置
声明
的使用
当程序中涉及的类较多时,头文件中不恰当地包含冗余#include,会导致程序的编译时间增加。实时合理的使用
前置
声明
来代替include可以很好的解决这个问题。 假设有两个类:class A和class B;那么class B的头文件中使用类A的不同情况可以选择选择
前置
声明
和 #include“A.h” 1、使用
前置
声明
的情况: a. 以类A的指针或引用形式定义成员
变量
b. 函
C++
static
成员、new / delete /特化模板/模板分离编译的详解
static
概念
声明
为
static
的类成员称为类的静态成员,用
static
修饰的成员
变量
,称之为静态成员
变量
;用
static
修饰的成员函数,称之为静态成员函数。静态的成员
变量
一定要在类外进行初始化。 特性 静态成员为所有类对象所共享,不属于某个具体的实例 静态成员
变量
必须在类外定义,定义时不添加
static
关键字 类静态成员即可用类名::静态成员或者对象.静态成员来访问 静态成员函数没有隐藏...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章