C/C++中的声明与定义
来源:互联网 发布:设计网络营销策划方案 编辑:程序博客网 时间:2024/06/05 15:00
含义
声明(Declaration), 用于告诉编译器被声明的函数/变量的存在, 及它们的类型/调用格式信息, 以检查是否被正确调用. 声明不分配内存空间.
定义(Definition), 用于告诉编译器被声明的函数/变量的存在位置, 会分配内存空间.
变量/函数在被使用之前一定要被声明. 声明和定义可以同时进行.
可以有多个声明, 但只能有一个定义.
函数的声明与定义
函数的Declaration由函数的签名(函数名+参数列表)与return类型, 外加一个分号组成. 如:
void fn(int a);
定义则有函数实体:
void fn(int a){ printf("%d\n", a);}
C与C++的声明有一个不同之处:
void fn();
不带参的声明在C里代表可以传入任何参数, 而在C++中则代表不传入任何参数.
例如下面这段代码:
#include <stdio.h>void fn();int main(){ printf("Hello World!\n"); fn(1);}void fn(int a){ printf("%d\n", a);}
在C语言中, 它可以通过编译并执行, 但在C++中则不行.
若函数第一次出现时就定义了函数体, 则代表声明与定义同时进行.
变量的声明与定义
大多同时进行. 也可以用关键字extern
来告诉编译器, 这仅仅是个声明:
int a; //声明与定义同时进行extern int b; //只有声明, 定义不在此处.
其它语言中的类似语法
- Java中的
abstract
方法及interface
, 很纯粹的declaration. - Python中的
global
关键字与extern
作用类似.
0 0
- C中的声明与定义
- C/C++中的声明与定义
- C/C++定义与声明
- C/C++ 声明与定义
- C语言定义与声明
- C/C++定义与声明
- C语言定义与声明
- C语言声明与定义
- C语言声明与定义
- C语言中的声明与定义的区别
- C语言中的声明与定义的区别
- 【C/C++】变量的定义与声明
- C语言中的定义和声明
- C语言中的声明和定义
- C语言中的声明和定义
- C语言中的声明和定义
- C语言: 如何区分 声明与定义
- C语言定义与声明的区别
- python 小知识点临时记录
- C++中Reference与Pointer的不同
- 解释语言与编译语言
- Java中i++和++i的区别
- C/C++的编译过程
- C/C++中的声明与定义
- C/C++ 中的include
- C++ namespace
- (HDU 5792)World is Exploding <树状数组+去重> 多校训练5
- C/C++的基本数据类型
- VS系列语言包下载提示兼容性或其他问题的解决方法。
- 卷积操作的维度
- Theano conv2d的border_mode
- 线性函数的定义