函数声明会干什么,函数定义又会干什么哩?

  众所周知,我们一般在写程序的时候,一般会把函数声明放在头文件(.h)里面,而会把定义放在.cpp文件里面。

1. 声明一函数,仅仅是给我们这些程序员提供这个函数是干什么的信息,它的形式参数名其实没有什么实际的意义,设置可以只写出参数的类型就可以了。比如:

//函数声明
int add(int a,int b)
或者我们也可以定义成
int add(int ,int)

2. 定义一个函数,编译器就会为函数的形参和返回值预先留出合适的内存空间。比如:

int add(int a,int b)
{
    return a+b;
}

  由于int所占用的内存空间为4个字节,那么编译器在处理这个函数定义的时候,就会预留出12个字节的内存空间。(因为有连个形式参数a,b,返回也是一个int,所以共计4×3=12个字节)。

  所以声明与定义最主要的区别在于,声明知识告诉编译器和我们有这样一个函数,而只有在内存中编译器才会为这个函数分配内存。

特别注意的是,养成一个良好的写声明的习惯是十分重要的!!!

posted @ 2011-07-10 13:54  uniqueliu  阅读(1271)  评论(0编辑  收藏  举报