美文网首页
C语言的声明和定义

C语言的声明和定义

作者: 星空眼泪tingdong | 来源:发表于2016-05-05 15:18 被阅读91次

我们先来了解一下,什么是定义?什么是声明?它们有何区别?

举个例子:

A)   int i;

B)   extern int i;(关于extern,后面解释)

哪个是定义?哪个是声明?或者都是定义或者都是声明???

什么是定义:所谓的定义就是(编译器)创建一个对象,然后为这个对象分配一块内存并给它

取上一个名字,这个名字就是我们经常所说的变量名或对象名。但注意,这个名字一旦和

这块内存匹配起来(可以想象是这个名字嫁给了这块空间,没有要彩礼啊。^_^),它们就同

生共死,终生不离不弃。并且这块内存的位置也不能被改变。一个变量或对象在一定的区

域内(比如函数内,全局等)只能被定义一次,(想象一下,如果可以定义好几次,那就是有多个不同的内存空间叫同一个名字,那么将来我们通过对变量的操作带来很大的麻烦)如果定义多次,编译器会提示你重复定义同一个变量或对象。

什么是声明:有两重含义,如下:

第一重含义:告诉编译器,这个名字已经匹配到一块内存上了(伊人已嫁,吾将何去何

从?何以解忧,唯有稀粥),下面的代码用到变量或对象是在别的地方定义的。声明可以出

现多次。

第二重含义:告诉编译器,我这个名字我先预定了,别的地方再也不能用它来作为变量

名或对象名。比如你在图书馆自习室的某个座位上放了一本书,表明这个座位已经有人预

订,别人再也不允许使用这个座位。其实这个时候你本人并没有坐在这个座位上。这种声

明最典型的例子就是函数参数的声明,例如:

void fun(int i, char c);好,这样一解释,我们可以很清楚的判断:A)是定义;B)是声明。

那他们的区别也很清晰了。记住,定义声明最重要的区别:定义创建了对象并为这个

对象分配了内存,声明没有分配内存(一个抱伊人,一个喝稀粥。^_^)。

相关文章

  • C语言的声明和定义

    我们先来了解一下,什么是定义?什么是声明?它们有何区别? 举个例子: A) int i; B) extern ...

  • C/C++语言声明与定义详解

    C/C++语言中,声明(Declaration)与定义(Definition)很容易混淆,但是正确使用声明与定义对...

  • 类方法以+号开头,对象方法以-号开头

    方法:方法是Objective-C独有的一种结构,只能在Objective-C中声明、定义和使用,C语言不能声明、...

  • C语言 变量声明和定义的区别

    变量的声明有两种情况: 1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。 2、另...

  • 必须知道的C语言知识细节:声明和定义

    C语言中的声明(declaration)和定义(definition)是两个容易混淆的概念。 声明只是给变量、函数...

  • C++变量声明和定义

    来自C++ Primer第5版 王刚 杨巨峰 译 C++语言可以将声明和定义分开。 声明规定了变量的名字和类型; ...

  • 10-Go语言函数-指趣学院

    函数 Go语言和C语言一样也有函数的概念, Go语言中函数除了定义格式和不用声明以外,其它方面几乎和C语言一模一样...

  • 变量定义与声明的区别

    在C语言中变量有两种声明方式。一种叫做“定义性声明”,简称为“定义”,一种叫做“引用型声明”,简称为声明。 声明与...

  • C语言 宏定义与函数的声明

    宏定义的用处主要体现在便于程序的调试上。 比如我要写一个计算圆相关信息(周长、面积等等)的程序,需要定义π(3.1...

  • C语言中的自定义函数:对函数的“定义”和“声明”不是一回事。 函数的定义:是指对函数功能的确定,包括指定函数名...

网友评论

      本文标题:C语言的声明和定义

      本文链接:https://www.haomeiwen.com/subject/vzcxlttx.html