c语言中函数定义和声明有啥区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中函数定义和声明有啥区别相关的知识,希望对你有一定的参考价值。

从C语言编译器的角度来看,函数声明只是一种协议,它告诉了调用者在调用这个函数之前需要给他什么参数,一般参数是通过寄存器或者压栈的方式传给被调用函数的,具体这些参数如何使用以及返回什么值到相应的寄存器里返回给调用者则是定义所描述的。 参考技术A C语言中,无论是常量,变量,只有先定义才能使用。函数声明,为了减少函数的混淆,所以要有个函数名,即声明。函数定义是系统要求的,不定义就错误,而函数声明实际上不定义也行,但为了方便和减少错误,人为规定要声明。 参考技术B 不是一个意思追问

怎么满意

我也知道不是一个意思

参考技术C 声明 是告知下面的代码:有这个函数可以用
定义 是对这个函数的具体实现

Objective-C/Swift中定义常量有啥区别?

参考技术A 一般人会觉得没有差别,因为写出来好像也确实没差别。

ObjC是这样定义常量的:

Swift 是这样定义常量的:

ObjC中用 const 来表示常量,而 Swift 中用 let 来判断是不是常量。
ObjC中 const 表明的常量类型和数值是在 compilation time 编译时确定的;而 Swift 中 let 只是表明常量(只能赋值一次),其类型和值既可以是静态的,也可以是一个动态的计算方法,它们在 runtime 运行时确定的。

以上是关于c语言中函数定义和声明有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

请问C++中啥是函数的定义性声明和函数的引用性声明,有啥区别

请教高手,C语言中,把变量定义在主函数之外和定义在主函数之内有啥区别?

请问C语言中函数定义,函数声明和函数调用的区别?

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

Java中自定义类和基本类型声明的数组,在对内存中存储的内容、方式和内存地址指向方面有啥区别?

头文件和源文件有啥区别呢?