A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李承伟 初级黑马   /  2012-8-6 08:25  /  1562 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

学过C语言的应该都知道,在C语言中有一个符号常量的概念,我觉得就类似于C#中所说到的用const定义的常量;
C语言中定义一个符号常量:# define PI 3.14   符号常量只是一个符号,不占存储单元,只是简单地进行字符置换,不论置换的字符是否有含义都进行置换,符号常量只是符号,不是变量,不能被赋值,也不能对符号常量指定类型 (这是C语言中对有关符号常量的一点东西)
那么在C#语言中,用const定义一个常量是:
                                                                      const double PI = 3.14;
类似于定义常量,不同是在前加const,相比符号常量,const定义的常量可以对其指定类型,除此之外,还有什么异同?实为不解?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

2 个回复

倒序浏览
define预定义,只是符号,肯定不占内存,它的作用只是把一串字符用一个符号表示,在编译的时候已经处理了。const是常量,肯定要分配内存

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
1,C语言中的常量通常放在main()主函数外面,与#include ""放在一起;
2,而C#中的常量通常放在类里面,而且有数据类型进行修饰,在C语言中宏常量没有数据类型修饰;
3,在C#中,const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马