C语言中声明与定义的区别

原创 2015年07月07日 17:58:33
定义和声明判断:        A)int i;//定义;                          B)extern int i;  //声明;

定义:定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。一个变量或对象在一定的区
域内(比如函数内,全局等)只能被定义一次,如果定义多次,编译器会提示你重复定义同一个变量或对象。

声明:有两重含义,如下:
第一重含义:告诉编译器,这个名字已经匹配到一块内存上了,下面的代码用到变量或对象是在别的地方定义的。声明可以出现多次。
第二重含义:告诉编译器,我这个名字我先预定了,别的地方再也不能用它来作为变量名或对象名。这种声明最典型的例子就是函数参数的声明,例如:void fun(int i, char c);
我们可以很清楚的判断:A)是定义;B)是声明。
记住,定义声明最重要的区别:定义声明最重要的区别:定义创建了对象并为这个对象分配了内存,声明没有分配内存。


C语言中的定义和声明的区别

变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。 声明用于向程序表明变量的类型和名字,定义包括声明:当定义变量时我们声明了它的类型和名字。可以通过使...
  • linux12121
  • linux12121
  • 2016年05月31日 22:53
  • 280

C语言中变量的复杂声明和定义

我们知道:任何C语言变量的声明都由两部分组成:类型以及一组类似表达式的声明符。一旦我们知道如何声明一个给定类型的变量,那么该类型的类型转换符就很容易得到:只需要把声明中的变量名和末尾的分号去掉,再将剩...
  • GHX05130319
  • GHX05130319
  • 2015年05月08日 09:17
  • 1207

C语言中声明、定义和初始化的区别

此外,其声明用于说明变量的属性(主要是变量的类型),且可多次声明;而变量的定义除此以外还将引起存储器的分配,且只能定义一次。 注意:定义是一种特殊的声明。 int sp; double val[MAX...
  • Mark_meego
  • Mark_meego
  • 2015年05月02日 17:03
  • 5358

C语言中声明和定义详解

变量声明和变量定义 变量定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。 变量声明:用于向程序表明变量的类型和名字。 定义也是声明,extern声明不是定义 ...
  • gatieme
  • gatieme
  • 2016年02月06日 16:56
  • 7843

在c语言中函数的定义与使用

在c语言中可以通过定义函数来实现代码的重复使用 编程时候并不是把所有代码都写到main中 函数的定义 函数返回值 函数名( 参数) {    函数体 } //定义函数获取...
  • u012734194
  • u012734194
  • 2015年03月01日 12:00
  • 640

C语言中<>和“”有什么区别

例如你使用的是TurboC include 代表编译时直接在TurboC软件设置指定的路径(默认是TurboC所在文件夹下的include文件夹)中寻找里面是否有stdlib.h的库文件。如果有,直...
  • huayutiancheng
  • huayutiancheng
  • 2016年08月28日 19:53
  • 1363

C语言中<>和“”的区别

例如你使用的是TurboC include 代表编译时直接在TurboC软件设置指定的路径(默认是TurboC所在文件夹下的include文件夹)中寻找里面是否有stdlib.h的库文件。如果有,直...
  • xieyihua1994
  • xieyihua1994
  • 2016年09月29日 21:21
  • 1609

C语言中的静态变量和普通变量的区别

下面用代码说明: 一个可执行程序包括BSS段、数据段、代码段(文本段)。 bss segment ,data segment ,code/text segment ①BSS(Block by S...
  • HSUPERA
  • HSUPERA
  • 2016年05月17日 23:18
  • 412

C语言中的声明与定义的区别

1、对于下面的声明语句 int a;       如果其位置出现在所有的函数体之外,那么它就被称为外部对象a的定义。这个语句说明了a是一个外部整型变量,同时为a分配了存储空间。因为外部对象a并没有被...
  • kerry0071
  • kerry0071
  • 2014年06月23日 08:54
  • 3818

C语言中的整形,字符型,浮点型

1、有符号整形         在C语言中,有符号整形变量a用signed int a表示,通常我们写的int a默认为有符号整形。          根据程序编译器的不同,整形定义的字节数不同。...
  • huguangshanse00
  • huguangshanse00
  • 2013年01月05日 19:15
  • 8901
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言中声明与定义的区别
举报原因:
原因补充:

(最多只允许输入30个字)