社区
C语言
帖子详情
标准C或K&R C是否有约定变量不能定义代替声名
alickguo
2006-04-24 04:19:03
偶见一代码批改:
unsigned short index = 0; <---------------------------------------------C++语法,声明定义分开
变量用过定义完成声名,貌似不是C++约定的吧?
对标准不熟悉,标准中是否有相关规约,请达人们解疑。
...全文
79
5
打赏
收藏
微信扫一扫
点击复制链接
分享
举报
写回复
5 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
alickguo
2006-04-24
OK,结贴。
sigh.纠正了我错误了N久的理解。
打赏
举报
回复
赞
iamcaicainiao
2006-04-24
摘自《c++编程思想》p32
……变量声明告知编译器变量的外表特征……
例如:int a;
声明变量a是一个整数,但是,这段代码有足够的信息让编译器为a分配空间,而且编译器也确实这么做了。如果想告诉编译器,这只是个声明,它的定义在别的地方,请用关键字extern。例如:
extern a;
他表明a是在本文件以外的文件中定义的,或者是在本文件的后面的部分定义的。
打赏
举报
回复
赞
jixingzhong
2006-04-24
变量的声明一般只有 外部变量才有,
(至少我没有看到过其他的)
声明的时候,
变量不会被分配空间。
而定义的时候, 变量的空间将被分配。
另外,
如果外部变量出现的都是同一种情形: 如 extern unsigned short index
那么,
第一次出现这个 “声明” 的地方将被视为 “定义”,(这个表述不知楼主懂不懂....)
(其他地方都是对这个变量的 声明)
打赏
举报
回复
赞
jixingzhong
2006-04-24
变量不能定义代替声名
==========
定义和声明本来就是完全不同的两回事情 ....
所以也无所谓 代替 一说。
打赏
举报
回复
赞
Maxwell
2006-04-24
看不懂搂主说的。
好像只有全局变量才需要声明,那个要用extern关键字。
对于普通的局部变量,直接写成楼主那个样子是没有问题的。
打赏
举报
回复
赞
相关推荐
visual studio的C/C++修饰名及调用
约定
(如__cdecl)
C/C++:函数的编译方式与调用
约定
以及extern “C”的使用 函数在C++编译方式与C编译方式下的主要不同在于:由于C++引入了函数重载(overload),因此编译器对同名函数进行了名称重整(name mangle)。因此,在C++中...
objective-c 编写规范_Objective-C 编程规范
【强制】 代码中的命名均
不能
以下划线
或
美元符号开始,也
不能
以下划线
或
美元符号结束。反例: _name / __name / $Object / name_ / name$ / Object$2.【强制】 代码中的命名严禁使用拼音与英文混合的方式,更不允许...
C语言陷阱和缺陷
C语言陷阱和缺陷 [1] [译序] 那些自认为已经“学完”C语言的人,请你们仔细读阅读这篇文章吧。路还长,很多东西要学。我也是…… [概述] C语言像一把雕刻刀,锋利,并且在技师手中非常...
C语言之解析
和任何锋利的工具一样,C会伤到那些
不能
掌握它的人。本文介绍C语言伤害粗心的人的方法,以及如何避免伤害。 [1]0 简介 C语言及其典型实现被设计为能被专家们容易地使用。这门语言简洁并附
有
表达力。但
有
一些限制...
《C语言陷阱和缺陷》笔记
尽管这些构成通常都是
定义
良好的,但这些
定义
有
时候是
有
悖于直觉的
或
混乱的。 在这一节中,我们将着眼于一些不明显句法构造。 2.1 理解声明 我曾经和一些人聊过天,他们那时正在在编写在一个小型的微...
C语言缺陷和陷阱
[修订说明] 改正了文中的大部分错别字和格式错误,并对一些句子依照中文的习惯进行了改写。 ...和任何锋利的工具一样,C会伤到那些
不能
掌握它的人。本文介绍C语言伤害粗心的人的方法,以及如
C语言缺陷与陷阱(笔记)
和任何锋利的工具一样,C会伤到那些
不能
掌握它的人。本文介绍C语言伤害粗心的人的方法,以及如何避免伤害。 第一部分研究了当程序被划分为记号时会发生的问题。第二部分继续研究了当程序的记号被编译器组合为声明、...
安全级 C语言编程规范(草稿)
标准
名称: C语言编程规范
标准
编号:版次号:A受控号:拟制:窦力争 2008 年 月 日审核: 2008 年 月 日批准: 2008 年 月 日 1 概述为了保证公司在软件开发过程中,全体成员的代码
C语言陷阱和缺陷[1]
[译序] 那些自认为已经“学完”C语言的人,请你们仔细读阅读这篇文章吧...和任何锋利的工具一样,C会伤到那些
不能
掌握它的人。本文介绍C语言伤害粗心的人的方法,以及如何避免伤害。[内容] 0 简介 1 词法缺陷 1.1 = 不
C语言陷阱和缺陷(修订版)[转载]
尽管这些构成通常都是
定义
良好的,但这些
定义
有
时候是
有
悖于直觉的
或
混乱的。 在这一节中,我们将着眼于一些不明显句法构造。 2.1 理解声明 我曾经和一些人聊过天,他们那时正在在编写在一个小型的微处理器上...
ERP沙盘模拟实践实验报告.docx
ERP沙盘模拟实践实验报告
算法分析与设计实验报告-求最大子段和实验报告(含源代码).doc
算法分析与设计实验报告-求最大子段和实验报告(含源代码).doc
Awesome_Game_UI_Pack_Button_Pack_and_Icon_pack_16_v1.0
Awesome_Game_UI_Pack_Button_Pack_and_Icon_pack_16_v1.0
某公司ERP生产管理系统实验报告.docx
某公司ERP生产管理系统实验报告
算法分析与设计之引言.pps
算法分析与设计之引言.pps
基于51单片机的数字电容测量仪设计实验报告.doc
基于51单片机的数字电容测量仪设计实验报告.doc
云外归鸟的图像处理支持库1.1#0版(第三方)
资源介绍:。易语言YunImage.fne支持库中文名为易语言图像处理支持库,本易语言支持库支持库封装了CxImage图像处理库。易语言YunImage.fne支持库为一般支持库,需要易系统3.6版本的支持,需要系统核心支持库3.7版本的支持,提供了5种库
定义
数据类型,提供了215种命令,提供了53个库
定义
常量。易语言图像处理支持库为易语言第三方支持库。操作系统需求: Windows。资源作者:。易语言论坛。资源界面:。资源下载:。
响应光盘行动-拒绝餐饮浪费-主题班会教案.docx
响应光盘行动-拒绝餐饮浪费-主题班会教案.docx
Java项目:企业人事系统(java+SpringBoot+Vue+ElementUI+maven+mysql)
项目介绍 人事管理系统功能包括人事通讯,员工信息,人事考评,奖惩,培训管理,薪资管理,统计分析,和系统管理六大模块,对应人事工作基本流程:新员工入职档案建立,调动,辞职,员工信息的查询及工资管理等方面.系统管理可以根据不同的角色分配菜单权限设置,不同的用户授予不同角色,对人事结构,单位结构进行整体调配设置.在线聊天可以实现操作员之间讯息的及时通讯. 项目基于MVVM的前后端分离开发模式进行开发.MVVM即模型(Model)-视图(View)-视图模型(View Model),实现了数据视图的双向绑定.相对于MVC模式和MVP来说,MVVM是一个比较新的开发架构,它是一种将MVP模式与WPF相结合应用方式发展演变而成的新型开发架. 前后端分离是指将前端和后端从之前的全部由后端负责中分离开来,不再共用一个Server,前端作为一个独立Serve存在.前后端通过接口使用HTTP协议交互,本项目使用vu实体属性outer做前端路由处理.页面跳转不在由后端处理,前后端只是数据的交互.前后端分离的好处在于降低了前后端的耦合性.当面对不同的硬件场景时,需要构建不同的界面,前后端分离之后,只需要扩展
2020年高考英语试卷(北京卷-附答案).docx
2020年高考英语试卷(北京卷-附答案).docx
发帖
C语言
加入
微信扫一扫
点击复制链接
6.6w+
社区成员
24.2w+
社区内容
C语言相关问题讨论
社区管理员
申请成为版主
帖子事件
创建了帖子
2006-04-24 04:19
社区公告
暂无公告