菜问题:如何声明全局常量?const int t = 10; 引用时extern const int i = 10?

lp2 2004-06-25 11:01:32
对于全局常量,大家是不是喜欢用来声明全局数组,如extern const int a[8][4]。
...全文
256 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
rkhw 2004-07-02
  • 打赏
  • 举报
回复
在 .cpp 文件里出现类似 int a;、const double d; 等等会被实例化,即在内存中被分配了内存。但是,在 .h 文件里出现的类似 int a;、const double d; 等等不会被实例化,即不会在内存中被分配内存。

是这样吗?
a1dao 2004-06-25
  • 打赏
  • 举报
回复
同意楼上的~~
peter9606 2004-06-25
  • 打赏
  • 举报
回复
应该是这样的
在1.cpp中
extern const int CONSTINT = 100 ;

在2.cpp中
extern const int CONSTINT ;
晨星 2004-06-25
  • 打赏
  • 举报
回复
外部引用时不要赋值。
extern仅仅表示这里需要引用一个在另一个文件中定义的东东,所以这个东东的初试值由那个文件负责。
MyNameEPC 2004-06-25
  • 打赏
  • 举报
回复
在 .cpp 文件里出现类似 int a;、const double d; 等等会被实例化,即在内存中被分配了内存。但是,在 .h 文件里出现的类似 int a;、const double d; 等等不会被实例化,即不会在内存中被分配内存。如:

/* Global.h */
int n; // declaration
double d; // declaration


/* Global.cpp */
int n; // definition
//double d; we have not defined d


/* main.cpp */
int main()
{
extern n = 10; // okey!
extern d = 1.6; // linkage error!
}
leonchew 2004-06-25
  • 打赏
  • 举报
回复
是的。
const int t = 10; 引用时extern const int i 就可以
eronic 2004-06-25
  • 打赏
  • 举报
回复
是的
talkingmute 2004-06-25
  • 打赏
  • 举报
回复
是的!
qwertasdfg123 2004-06-25
  • 打赏
  • 举报
回复
ok
Justin2003 2004-06-25
  • 打赏
  • 举报
回复
yes
A_cool 2004-06-25
  • 打赏
  • 举报
回复
public class test
{
public final static String TMP_CONST_UNACCEPT = "常量";
}

我是这样定义的
junnyfeng 2004-06-25
  • 打赏
  • 举报
回复
知道了还问?
peter9606 2004-06-25
  • 打赏
  • 举报
回复
extern int a = 10
一样可以定义分配内存空间的
tuqvb 2004-06-25
  • 打赏
  • 举报
回复
楼上说得并不准确,应该是extern告诉编译器在其他obj文件中查找为该变量分配的内存空间
sclarkca810619 2004-06-25
  • 打赏
  • 举报
回复
yeah extant is only tell you that"ok,you have the same value and name in two files,",no other means!
tuqvb 2004-06-25
  • 打赏
  • 举报
回复
在我机器上是通过的
而且我要指出的是,在两处都使用extern声明的话是错误的
因为extern仅仅是声明,没有定义,没有为变量分配任何内存空间
peter9606 2004-06-25
  • 打赏
  • 举报
回复
To tuqvb(风间苍月)
你试过了?可以么? 怀疑 ing
tuqvb 2004-06-25
  • 打赏
  • 举报
回复
在定义一个变量时不需要使用extern
而在引用一个外部变量时才需要使用extern

比如在1.cpp
int CONSTINT= 100;

在2.cpp
extern int CONSTINT;
CONSTINT= ppmm;
peter9606 2004-06-25
  • 打赏
  • 举报
回复
不过偶不知道为什么

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧