
c语言中,声明和定义有什么区别
17个回答
展开全部
变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。
声明用于向程序表明变量的类型和名字,定义包括声明:当定义变量时声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型前的关键字extern。
拓展资料:
声明变量
声明变量的一种方式是使用Dim语句、Public语句和Private语句在Script中显式声明变量。
例如:
Dim Degrees Fahrenheit
声明多个变量时,使用逗号分隔变量。例如:
Dim Top, Bottom, Left, Right
另一种方式是通过直接在Script中使用变量名这一简单方式隐式声明变量。这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行Script时出现意外的结果。因此,最好使用Option Explicit语句显式声明所有变量,并将其作为Script的第一条语句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
声明是引入标识符和标识符的类型(类型可以是整形,函数,浮点型等)。声明也可理解为是让编译器知道有这么个标识符,方便以后引用。如下面这些声明语句:
extern int i;
extern double d;
extern int foo(int, int);
double f(int, double); // 函数声明时extern可以省略。
定义实际是实例代(或实现)标识符。可为标识符分配存储空间,还可为标识符指定初始值。如下是定义的语句:
int i;
double d = 3.14;
int foo(int lhs, int rhs) {return lhs*rhs;}
double f(int i, double d) {return i+d;}
定义可以代替声明,因为在定义的时候我们也指定了标识符和类型。但所有标识符只能有一次定义,而声明可以有多次,如下声明在C和C++中都是合法的:
extern int i;
extern int i; //多次声明了变量i
extern double d;
extern double d;//多次声明了变量d
double f(int, double);
double f(int, double);//多次声明了函数f
若同一个标识符多次定义,则编译器不知道哪个定义才是标识符的实现,编译会通不过。而多次声明不会,它只是告诉编译器有这么个标识。区分声明和定义相当重要,一个叫秒秒学的教程网站上的多个课程如《Java基础课程》和《C语言基础》中都有说明这个问题,推荐你去看看,希望对你有帮助。
extern int i;
extern double d;
extern int foo(int, int);
double f(int, double); // 函数声明时extern可以省略。
定义实际是实例代(或实现)标识符。可为标识符分配存储空间,还可为标识符指定初始值。如下是定义的语句:
int i;
double d = 3.14;
int foo(int lhs, int rhs) {return lhs*rhs;}
double f(int i, double d) {return i+d;}
定义可以代替声明,因为在定义的时候我们也指定了标识符和类型。但所有标识符只能有一次定义,而声明可以有多次,如下声明在C和C++中都是合法的:
extern int i;
extern int i; //多次声明了变量i
extern double d;
extern double d;//多次声明了变量d
double f(int, double);
double f(int, double);//多次声明了函数f
若同一个标识符多次定义,则编译器不知道哪个定义才是标识符的实现,编译会通不过。而多次声明不会,它只是告诉编译器有这么个标识。区分声明和定义相当重要,一个叫秒秒学的教程网站上的多个课程如《Java基础课程》和《C语言基础》中都有说明这个问题,推荐你去看看,希望对你有帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。
声明用于向程序表明变量的类型和名字,定义包括声明:当定义变量时声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型前的关键字extern。
声明用于向程序表明变量的类型和名字,定义包括声明:当定义变量时声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型前的关键字extern。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于变量本省而言,声明和定义没什么区别。比如说Int i;其实等同于int i=0;所以声明也就是定义。
对于函数而言,才是有区别的。比如声明函数int sum();
而定义应该给出具体的算法。int sum(int x,int y)
{return x+y;
}
对于函数而言,才是有区别的。比如声明函数int sum();
而定义应该给出具体的算法。int sum(int x,int y)
{return x+y;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
变量的声明,其实就是一个空的东西,在C中就相当与一个空的指针,它什么也没有指向,没有任何实际的意义,例如int a。
而变量的定义,就不一样了,它是在内存中指定了一定的空间,一旦定义一个变量,系统自动给它分配一定的内存空间。它是有一定的实际意义的。例如int a=10。
两者区别:
声明不为变量分配空间,而定义为变量分配空间
因此同一个变量的声明可以出现多次,而只能定义一次
中函数的声明是可以重复的,但是变量却不可以。对于变量的声明都会分配内存空间,只是这部分内存空间里存放的是随机值,直到被定义之后将赋予相应的值。
而变量的定义,就不一样了,它是在内存中指定了一定的空间,一旦定义一个变量,系统自动给它分配一定的内存空间。它是有一定的实际意义的。例如int a=10。
两者区别:
声明不为变量分配空间,而定义为变量分配空间
因此同一个变量的声明可以出现多次,而只能定义一次
中函数的声明是可以重复的,但是变量却不可以。对于变量的声明都会分配内存空间,只是这部分内存空间里存放的是随机值,直到被定义之后将赋予相应的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询