函数声明会干什么,函数定义又会干什么哩?
众所周知,我们一般在写程序的时候,一般会把函数声明放在头文件(.h)里面,而会把定义放在.cpp文件里面。
1. 声明一函数,仅仅是给我们这些程序员提供这个函数是干什么的信息,它的形式参数名其实没有什么实际的意义,设置可以只写出参数的类型就可以了。比如:
//函数声明 int add( int a, int b) 或者我们也可以定义成 int add( int , int ) |
2. 定义一个函数,编译器就会为函数的形参和返回值预先留出合适的内存空间。比如:
1
2
3
4
|
int add( int a, int b) { return a+b; } |
由于int所占用的内存空间为4个字节,那么编译器在处理这个函数定义的时候,就会预留出12个字节的内存空间。(因为有连个形式参数a,b,返回也是一个int,所以共计4×3=12个字节)。
所以声明与定义最主要的区别在于,声明知识告诉编译器和我们有这样一个函数,而只有在内存中编译器才会为这个函数分配内存。
特别注意的是,养成一个良好的写声明的习惯是十分重要的!!!