网站首页 > 文章中心 > 其它

函数的声明与定义c语言_c语言声明函数和定义函数

作者:小编 更新时间:2023-10-15 10:43:34 浏览量:172人看过

c语言的定义与声明是什么?

声明就是声明一下我用到的变量或者类型,变量或者类型的实际定义并不一定在本文件内.

给变量分配了空间才叫做定义,否则就是声明

比如extern int a; 是声明,a的定义是在别处,这里并没有为a分配空间.

比如int a;即是定义

函数以及类型,声明就是用函数或者类型的头部来声明

函数的声明与定义c语言_c语言声明函数和定义函数-图1

比如 struct x;声明 struct x{};定义

比如 int fun();声明 int fun(){}定义

c语言中,声明和定义有什么区别

如果是指变量的声明和定义:

从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存.而定义就是分配了内存.

对于下面的两句代码:

void Func()

{

int a;

int b=1;

a=0;

}

对于第一行代码,编译器不会做任何事,它不会为它在栈中分配一点东西,直到第三句,a=0;时,编译器才会将其压入栈中.而对于int b=0;这一句,编译器就会生成一条指令,为它赋值.如果反汇编,看到的代码可能是这样的:

push 1;

push 0;

当然,并不一定编译器就会样做,也有可能在声明int a时,编译器就会把一个废值入栈,到第三条再为其赋值,这要看编译器的具体取舍,所以,声明不一定不是定义,而定义一定是定义.

但是,下面的声明,一定仅仅是声明:

extern int a;

这表时,有一个int变量a,它一定是在另外其他地方定义的,所以编译器此时一定不会做什么分配内存的事,因为它就是声明,仅仅表明下面的代码引用了一个符号,而这个符号是int类型的a而已.

如果是指函数的声明和定义:

声明:一般在头文件里,对编译器说:这里我有一个函数叫function() 让编译器知道这个函数的存在.

定义:一般在源文件里,具体就是函数的实现过程 写明函数体.

C语言中函数声明和函数定义有什么区别

函数声明是通知程序,该函数是存在的

函数定义是通知程序,该函数是什么(函数的实现)

一般如果函数定义放在文件的最前面,那么可以不使用函数声明,但不规范

所以,最好是使用函数声明(也是放在文件的最前面,最好是在头文件中声明)

请采纳,谢谢

C语言 函数定义 函数声明 区别

楼主可以这样想,C语言中,无论是常量,变量,函数,只有先定义才能使用的.在函数定义时,大脑要往一般的常量,变量定义的方向,切忌先不要想函数的别的.定义好后,把函数的定义先放一边,不管它.

接着是函数声明,大家都知道,C语言是有一个主函数main()和0或n个普通函数组成的.由于当代码越长,用到的函数就越多,为了减少函数的混淆,所以要有个函数名,就像老师点名一样,声明一个函数,就如点一个学生的名字.

都说到这里了大家应该明白,函数定义是系统要求的,不定义就错误,而函数声明实际上不定义也行,但为了方便和减少错误,人为规定要声明.

以上就是土嘎嘎小编为大家整理的函数的声明与定义c语言相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章