当前位置:C++技术网 > 资讯 > 标识符的那些事儿

标识符的那些事儿

更新时间:2015-06-29 18:22:40浏览次数:1+次

   艺术源于生活,计算机这门艺术也不例外。世间万物皆分阴阳,映射到人类为男女,动物为公母,花草为雌雄。即为相生相克两者,再无其他。然 计算机的世界,抽象的最终结果便为0和1。人活于世,谓之有名即为姓名;同然,计算机亦有此意,标识符是也。姓名分为姓 和 名两部分,不知你曾是否问过自己为何姓名要分姓和名?(当然你的心中早已了然)我想侧重表达的是:姓是指示你的某些属性,比如源于哪个家族、与哪些人有血缘关系…..。那么计算机里的标示符是否也有此等部分呢?有  当然有,那便是 数据类型。数据类型便是说明该标示符所具有的的某些属性  比如:分配多大的内存、可以进行哪些操作、编译器如何解释内存中所对应的的二进制数据…..。
数据类型 + 标识符便是软件的砖和瓦。 
    就像姓一样素有百家之多,然软件界的数据类型亦是千万种(基本数据类型和自定义数据类型)
  1. 基本数据类型诸如: bool  char  short  int  long  float  double   unsigned  signed等等
  2. 自定义数据类型太多了,C语言中用struct来进行定义,CPP中即为class;

   其实C这种编程语言是强类型的即在定义变量时必须指定类型,而有些语言是弱类型的则没有这项要求,但究其本质还是有的,只不过这个标识符类型识别发生在程序执行时。再回到姓名这个例子,我们给小孩起名字时,是有规矩的吧,比如"排行",更有甚者,还要算命...当然标识符,命名也是"讲究"的,有其自身的规则。就两条: 

              ①标识符由字母、数字和下划线组成

②标识符的第一位必须是字母或者下划线,不能是数字
   可能有些人还会说:“有些书上明明写着三条啊,你说的不对呢”。呵呵,我总认为“标识符大小写敏感”只能算是注意事项而构不成规则,当然如果你认为它是规则亦可。
   下面稍稍深入的讲下编译器到底是如何解释数据类型和标识符的,仅仅作为拓展。这些知识点以后都会再详细地深入讲解。编译器在扫描、编译源代码时会自行建立一个符号表,这个符号表就是记录标识符(或者谓之变量)的种种属性比如数据类型、作用域、生存期、存储区等等,这张表也是动态跟新的,至于符号表的详细内容就不在这展开了 。毕竟这是只是开篇。
   标识符的知识点就这么些,也没多少。第一讲主要是让大家先熟悉下我的写作风格。
小建议:在给标识符命名时 最好做到见名知意如:int  temp;你就知道这个temp变量是个临时变量,而不是起诸如 a b c这种无意义的名字。也可以学下匈牙利命名法,在做Win32程序设计时非常有用。这些都会在后面的项目中讲。
下面来张截图: 
下一讲  我们一块实现。好么?