码迷,mamicode.com
首页 > 其他好文 > 详细

定义和声明

时间:2016-09-12 22:22:43      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

变量的定义:为变量分配存储空间,还可以指定初始值。定义是“在这里建立变量”或“在这里建立函数”。对于变量,编译器确定变量的大小,然后在内存中开辟空间来保存其数据,对于函数,编译器会生成代码,这些代码最终也要占用一定的内存。变量仅有一个定义。定义也是声明。

变量的声明:表明变量的类型和名字。它告诉编译器“这个函数或变量在某处可找到,它的模样象什么”。

 

1.通过使用extern声明变量而不定义它。

2.如果声明有初始化式,即使加了extern都被当做定义。只有当extern声明位于函数外部时,才可以被初始化。例如:extern double pi=3.14.

3.不要把定义放在.h文件,这样会导致重复定义的错误。但是const变量的定义可以放在头文件中;类的定义也可以放到头文件中;inline函数也可以放在头文件中。原因如下:

类定义是因为编译器需要它们的定义来产生代码。为了产生能定义和使用类的对象的代码,编译器需要知道组成该类的数据成员和可以执行的操作。类定义提供了这些信息,所以需要在头文件中定义。

Const变量默认为定义它的文件的局部变量,所以即使在多个源文件中出现这个变量的定义也是合法的。

4.尽量使用static把定义限制在该源文件作用域。

(1)对于局部变量用static声明,则是为该变量分配的空间在整个程序的执行期内都始终存在。

(2)外部变量用static来声明,则该变量的作用只限于本文件模块。

5.基本类型变量的声明和定义(初始化)是同时产生的;而对于对象来说,声明和定义是分开的。

例如:类A。如果A a;就是一个声明,告诉编译器a是A类的一个对象变量,但是不进行初始化;如果以后a=new A();这就是初始化,分配了空间。

定义和声明

标签:

原文地址:http://www.cnblogs.com/healthylife/p/5866368.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!