C和C++的一些语法区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24964575/article/details/80204122

①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是操作符,两组堆内存的操作不能混用。

⑤struct和class
class是对struct的扩展,struct默认的访问权限是public,而class默认的访问权限是private。

猜你喜欢

转载自blog.csdn.net/qq_24964575/article/details/80204122