C语言细节之定义与声明
来源:互联网 发布:索罗斯做空人民币 知乎 编辑:程序博客网 时间:2024/05/22 05:52
①变量定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。
②变量声明:用于向程序表明变量的类型和名字。
③定义也是声明:当定义变量时我们声明了它的类型和名字。
④extern关键字:通过使用extern关键字声明变量名而不定义它。
这样就很清楚了,所谓定义就是创建一个对象,为这个对象分配一块内存并给这块内存命名。从此这个变量名和这块内存地址就绑定了,并且这块
内存地址的位置也不能改变。一个变量或对象在一定的区域内只能定义一次,如果被多次定义,编译器会提示重复定义。
声明比较复杂,声明的第一重含义是告诉编译器这个名字已经匹配到到一块内存带上上了,下面的代码用到的变量已经在别的地方定义了。
第二重含义是告诉编译器这个名字我先预订了,别的地方不能再使用这个名字。这种用法最典型的就是void fun(int i,int c).
1.定义也是声明,extern声明不是定义,即不分配存储空间。extern告诉编译器变量在其他地方定义了。
例如:extern int i; //声明,不是定义
int i; //声明,也是定义
2.如果声明有初始化式,就被当作定义,即使前面加了extern。只有当extern声明位于函数外部时,才可以被初始化。
例如:extern double pi=3.1416; //定义
3.函数的声明和定义区别比较简单,带有{ }的就是定义,否则就是声明。
例如:extern double max(double d1,double d2); //声明
4.除非有extern关键字,否则都是变量的定义。
例如:extern int i; //声明
int i; //定义
程序设计风格注意:
1. 不要把变量定义放入.h文件,这样容易导致重复定义错误。
2. 尽量使用static关键字把变量定义限制于该源文件作用域,除非变量被设计成全局的。
3. 可以在头文件中声明一个变量,在用的时候包含这个头文件就声明了这个变量。
- C语言细节之定义与声明
- C语言定义与声明
- C语言定义与声明
- C语言声明与定义
- C语言声明与定义
- C语言: 如何区分 声明与定义
- C语言定义与声明的区别
- C语言早期函数声明与定义
- C语言 全局变量定义与声明
- 深入浅出C语言(3)----声明与定义
- C语言的声明与定义
- 小心C语言的定义与声明
- 小心C语言的定义与声明
- C语言的定义与声明
- C语言全局变量定义与声明技巧
- C语言定义与声明的区别
- C语言的声明与定义
- C语言中声明与定义
- vim使用
- 生活无处不在!!!!!
- Linux 命令(文件和目录管理 - pwd)
- oracle11g安装以及客户端和plsql连接服务端过程
- vim简明教程--半小时从入门到通达
- C语言细节之定义与声明
- PTN910设备的安全特性
- Apache配置虚拟域名后localhost无法正常访问
- vassitx使用技巧(用了就再也没法放弃)
- 链表创建为什么需要使用内存分配?
- View的工作流程
- ACCESS里的对象
- SharedPreferences
- 程序员的成长阶梯和级别定义