C 语言和 C++ 有什么区别
[[IMG_PLACEHOLDER_0]]
2、C语言的标准的函数库很松散,而C++对于大多数的函数都是集成的很紧密;
3、C语言中结构只有成员变量,而在C++中结构中,可以有成员变量和成员函数。
语法上的区别
struct
在C语言中,试用定义的struct类型的变量方式:struct [定义的变量] [生成的变量];在C++语言中,试用定义的struct类型的变量方式:struct [定义的变量] [生成的变量]或者[定义的变量] [生成的变量]。
在C语言中struct定义的变量中不能有函数,而在C++中可以有函数。
函数的参数以及返回值(以test()为例)
C语言中,表示参数可有可无,返回值为int;C++中表示无参函数,由于无返回值导致语法错误,但是当无返回值的函数为构造函数的时候例外。
malloc
malloc函数的返回值为void*,在C语言中可以赋值给任意类型的指针,在C++中必须进行强制类型装换,否则报错。
malloc、free和new、delete
malloc、free在C和C++中均可使用,但是在C++中更多的是使用 new、delete。malloc、free是函数,而new、delete是操作符,两组堆内存的操作不能混用。
class是对struct的扩展,struct默认的访问权限是public,而class默认的访问权限是private。
推荐教程:《C#》