c语言中定义与声明有什么区别?请说明的具体一些
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/13 04:46:17
c语言中定义与声明有什么区别?请说明的具体一些c语言中定义与声明有什么区别?请说明的具体一些c语言中定义与声明有什么区别?请说明的具体一些如果是指变量的声明和定义:从编译原理上来说,声明是仅仅告诉编译
c语言中定义与声明有什么区别?请说明的具体一些
c语言中定义与声明有什么区别?请说明的具体一些
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语言的定义与声明是什么
在C语言中,函数定义跟函数声明有什么区别有什么不同之出?
请问C语言中函数定义,函数声明和函数调用的区别?
C语言中,说明一个变量和定义一个变量有什么区别?
C语言中,说明一个变量和定义一个变量有什么区别?
C语言中有效数字的定义与数学中的定义有区别吗
C语言里的函数定义和函数说明有什么联系和区别?
C语言 函数定义 函数声明 区别thanks
计算机C语言中,K++与-k++有什么区别?由于是初学者,请详细叙述,最好能举个比较简明的例子说明一下.
函数声明与函数定义的区别
C语言中,在main()函数外声明函数和函数内声明函数有何区别?
声明和定义有什么区别?请举个例子
C语言定义变量的同时赋予数值和先定义后赋值有什么区别
C语言定义变量的同时赋予数值和先定义后赋值有什么区别
C语言中b--与--b有什么区别,举例说明