c与c++的区别

C语言与C++的区别

1)输入输出
c语言输入输出头文件为<stdio.h>
c++语言输入输出库函数为<iostream>

//c语言
#include<stdio.h>
int main()
{
	int a;
	char b;
	scanf("%d,%c",&a,&b);
	printf("%d,%c\n",a,b);
	return 0;
}
//c++
#include<iostream>
using namespace std;
int main()
{
	int a;
	char b;
	cin>>a>>b;
	cout<<a<<b<<endl;
	return 0;
}

//c++对输入输出变量类型不做要求,而c对输入输出类型有要求

2)c++定义常量时最好定义常变量,也就是用const定义。
因为宏常量在定义的时候不开辟空间,在预编译时进行替换,同时没有变量类型。
而常变量开辟空间,有类型,在编译时进行替换。

3)c++包含了引用,即别名。
在函数调用进行传参时,使用引用甚至比使用指针更加通俗易懂,简洁明了。
1.没有所谓的空引用(不同于空指针)
2.定义引用时必须给予初始化
3.没有引用的引用(二级引用)(不同于二级指针)

4)函数重载
c语言通过函数名区分函数
c++通过函数名和参数类型,参数个数区分函数

5)c++形参可以赋默认值
c++给默认值必须从右向左依次赋值,不能越过其中一个形参给下一个形参默认值。
在调用函数时,如果函数对形参进行了默认值赋值,那么函数在调用时可以不用将所有的参数进行传递。如果传参时将默认值修改,则变量值为传递值(由左到右依次传递)。

#include<iostream>
using namespace std;
 
void fun(int a,int b,int c,int d = 10,int e = 0;)
{
	cout<<a<<' '<<b<<' '<<c<< ' '<<d <<' '<<e;
}
int main()
{
	fun(10,20,30);
	return 0;
} 

运行结果:
运行结果使得
6)堆区开辟空间的不同
c语言使用malloc开辟空间,free释放空间
c++语言使用new开辟空间,delete释放空间

int main()
{
	//c语言
	int *p = (int*)malloc(sizeof(int)); //仅开辟空间,未对其进行赋值
	*p = 100;
	free(p);
	p = NULL;
	
	//c++
	int *s = new int(10); //开辟空间的同时进行初始化
	delete s;
	s = NULL;
	return 0;
	//malloc需对开辟空间类型进行强转,而new则不需要。
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值