首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何声明静态变量但不定义它

如何声明静态变量但不定义它
EN

Stack Overflow用户
提问于 2009-12-08 12:35:09
回答 6查看 5.8K关注 0票数 7

有时我们需要预先声明一个静态变量,然后再使用它。但是这个声明的变量名可能是错误的,编译器无法检测到它,哦!

示例:

代码语言:javascript
复制
/* lots of codes */
static some_type some_name; /* pre-declaration */
                            /* but it may define "some_name" */
/* use some_name */

/* lots of codes */

static some_type someName = initialization; /* definition */
/* use someName */

/* lots of codes */

"some_name“和"someName”是不同的,我们在开头使用了错误的变量。如果预声明语句没有定义任何东西,编译器将检测到错误。

那么,如何声明静态变量而不定义它呢?如何将预声明更改为新的声明,使编译器可以检测到错误的名称?

EN

Stack Overflow用户

发布于 2009-12-08 12:41:46

代码语言:javascript
复制
static some_type some_name; /*definition */

静态变量some_name已被初始化为0;它是定义,而不仅仅是声明。

在IMO中,静态变量不能只在C中使用外部说明符声明,因为它的链接总是内部的。

票数 8
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1864615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档