变量以及声明和定义

  变量(Variable)是编程语言最重要的概念之一,变量是计算机存储器中的一块命名的空间,可以
在里面存储一个值(Value),存储的值是可以随时变的,比如这次存个字符 'a' 下次存个字
符 'b' ,正因为变量的值可以随时变所以才叫变量。

  C语言中的声明(Declaration)有变量声明、函数声明和类型声明三种。如果一个变量或函数的

声明要求编译器为它分配存储空间,那么也可以称为定义(Definition),因此定义是声明的一种。

声明一个类型是不分配存储空间的,但似乎叫“类型定义”听起来也不错,所以在本书中“类型定义”和“

类型声明”表示相同的含义。声明和语句类似,也是以;号结尾的,但是在语法上声明和语句是有区别

的,语句只能出现在{}括号中,而声明既可以出现在{}中也可以出现在所有{}之外。

 

  给变量起名有一定的限制,C语言规定必须以字母或下划线_(Underscore)开头,后面可以跟若
干个字母、数字、下划线,但不能有其它字符。例如这些是合法的变量名: Abc 、 __abc__ 、 _123 。
但这些是不合法的变量名: 3abc 、 ab$ 。其实这个规则不仅适用于变量名,也适用于所有可以由程
序员起名的语法元素,例如以后要讲的函数名、宏定义、结构体成员名等,在C语言中这些统称为
标识符(Identifier)。
  另外要注意,表示类型的 char 、 int 、 float 、 double 等虽然符合上述规则,但也不能用作标识符。
在C语言中有些单词有特殊意义,不允许用作标识符,这些单词称为关键字(Keyword)或保留字
(Reserved Word)。通常用于编程的文本编辑器都会高亮显示(Highlight)这些关键字,所以只
要小心一点通常不会误用作标识符。C99规定的关键字有:
auto break case char const continue default do double
else enum extern float for goto if inline int long
register restrict return short signed sizeof static struct switch typedef
union unsigned void volatile while _Bool _Complex _Imaginary


  还有一点要注意,一般来说应避免使用以下划线开头的标识符,以下划线开头的标识符只要不
和C语言关键字冲突的都是合法的,但是往往被编译器用作一些功能扩展,C标准库也定义了很多
以下划线开头的标识符,所以除非你对编译器和C标准库特别清楚,一般应避免使用这种标识符,
以免造成命名冲突。


  请记住:理解一个概念不是把定义背下来就行了,一定要理解它的外延和内涵,也就是什么情况属
于这个概念,什么情况不属于这个概念,什么情况虽然属于这个概念但一般推荐的做法(Best
Practice)是要尽量避免这种情况,这才算是真正理解了。

转载于:https://www.cnblogs.com/agnily/p/4241142.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值