C语言和C++在声明和定义之间的区别是什么?

如题所述

声明是告诉编译器有一个变量或函数,并标明是什么类型的.
而定义,是明确告诉编译器,这个变量或函数的值和实现方式.

一般来讲,声明变量并不会占用存储空间,而定义变量会占用存储空间.声明函数只提供函数的格式,定义函数则提供函数的实现代码.
当然,很多时候,声明和定义是合并在一起的,这样的声明称为为定义声明.
举例来讲:
int test=1;//这是一个定义声明,term被分配了内存空间
extern int test;//这是一个声明而不是定义,它告诉编译器要使用先前定义的变量test.称为引用声明.
函数的定义和声明一般是分开的,比较清楚,也有将函数的定义和声明合并.
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-13
1.变量的声明,基本与定义是一样的,即声明变量处即是定义了改变量,如int a; 在处定义了变量。从概念上讲,声明即是让编译器知道要声明的对象是个函数,类,变量等,不为它分配实际的内存空间。所以有函数声明,变量声明,类声明。主要区别是表现在一个类中
class student
{
int a; //此处就是声明,并不为a分配内存空间。
};
student stu; //此处定义了一个student对象(变量)stu,并为之分配内存空间,包括类中变量a
2.函数声明:主要用于实际定义函数处在调用函数后面,如:
int max(int* p,5); //函数声明,如果这里没有这个声明,将会出错
int main()
{
int a[5]={1,2,3,4,5};
max(a,5); //调用函数
}
int max(int* p,int n) //此处才实际定义函数max
{
int max=p[0];
for(int i=1;i<n;i++)
{
if(max<p[i]) max=p[i];
}
return max;
}
其次就是在类中声明其成员函数,在类外(包括在另一个文件中)实际定义。
如:
class student
{
public:
int get_value(); //声明
private:
int a;
};
int student::get_value() //类外定义
{
return a;
}
第2个回答  2011-03-14
C++里有class类,c没有;C++中的struct成员可以是函数,C里的struct只能有成员变量,不允许有成员函数。
第3个回答  2016-01-02
定义和声明的区别在于是否需要开辟空间。
第4个回答  2011-03-14
没区别,除了C++的class

C语言和C++在声明和定义之间的区别是什么?
一般来讲,声明变量并不会占用存储空间,而定义变量会占用存储空间.声明函数只提供函数的格式,定义函数则提供函数的实现代码.当然,很多时候,声明和定义是合并在一起的,这样的声明称为为定义声明.举例来讲:int test=1;\/\/这是一个定义声明,term被分配了内存空间 extern int test;\/\/这是一个声明而不是...

c++中定义和声明有什么区别?
如果是指变量的声明和定义:从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存。而定义就是分配了内存。对于下面的两句代码:void Func(){ int a;int b=1;a=0;} 对于第一行代码,编译器不会做任何事,它不会为它在栈中分配一点东西,直到...

c语言和c++语言有什么区别
一、基本区别 C++是C语言的超集,这意味着C++包含了C语言的所有特性,同时添加了更多高级功能和抽象概念。简单来说,所有有效的C程序在C++环境中也是有效的,但C++更具扩展性和灵活性。二、详细解释 1. 语言特性的扩展:C++相较于C语言增加了更多的特性,例如类、对象、继承、多态等面向对象编程的概念...

C语言和C++在语法上有那些区别?要详细具体一点!!!
3、返回值不同C语言中,如果一个函数没有指定返回值类型,默认为int类型,并返回一个随机数,一般为0XCCCCCCCC。在C++中,如果函数没有返回值则必须指定为void型,否则编译不能通过。4、参数列表在C语言中,函数没有指定的参数列表时,默认可接收任意多个参数。在C++中,有严格的参数类型检测,没有参...

c++和c语言的区别
C++和C语言的区别 一、主要语言特性差异 1. 动态内存管理:C语言需要程序员手动管理内存,包括分配和释放。而C++提供了自动垃圾收集机制,允许程序在不再需要时自动释放内存。这使得C++开发过程中更不易出现内存泄露问题。2.面向对象编程支持:C语言不支持面向对象编程,而C++则全面支持类、对象、继承、...

c语言和c++语言有什么区别
一、基础区别 C语言和C++语言都是广泛应用于编程领域的语言,但两者之间存在明显的区别。C语言是面向过程的语言,注重过程和流程的控制,而C++语言则是面向对象的语言,更注重数据和对象的管理和操作。二、具体差异详解 1. 语法差异:虽然C++是基于C语言的,但两者在语法上存在诸多不同。例如,C++支持...

C++跟C语言区别大吗
c语言是结构化和模块化的面向过程的语言!c++是面向对象的的!C是基于过程的,强调的是程序的功能,以函数(功能)为中心。C++是面向对象的,强调程序的分层、分类,以抽象为基础,进行对象的定义与展示,即程序设计。具体说来话长。建议你学习C++的时候,学会用面向对象的方式思考和编程。在很大程度上,...

c与c++的区别有哪些
C与C++的区别主要体现在以下几个方面:1. 设计理念:C++是一种面向对象的编程语言,而C则是面向过程的。2. 核心结构:C语言以结构体(struct)为核心,C++则以类(class)为中心。3. 多态性:C语言通过宏定义(macro)提供有限的多态支持,而C++提供了包括模板(templates)在内的多种多态机制,以及...

c和c++的区别和联系
C和C++是两种非常流行的编程语言,它们在许多方面都存在明显的差异和联系。差异:面向对象编程:C++是一种面向对象的编程语言,这意味着它允许程序员定义并操作对象(也就是数据和函数捆绑在一起的小单元)。而C语言则是一种过程式语言,它更侧重于处理过程和算法,而不是数据和对象。错误处理:C++具有...

C语言和C++有什么区别么??
一、性质不同 1、Visual C++:Microsoft Visual C++(简称Visual C++、MSVC、VC++6.0或VC6.0)是Microsoft公司推出的以C++语言为基础的开发Windows环境程序,面向对象的可视化集成编程系统。2、C++:C++是C语言的继承,进行C语言的过程化程序设计。二、作用不同 1、Visual C++:适合用来编写各种复杂软件...

相似回答