搜了一下,答案是:基本上可以这么认为,但是在一些细节上并不兼容

图片源自网络

1. void*类型

在C语言中,void*(空指针)可以隐式转换为任何指针类型,但在C++语言中不合法

2. 字符字面值

在C语言中,字符字面值是int类型,而在C++语言中,字符字面值是char类型

3. 字符串字面值

这是一个很常见的错误,在C语言中,字符串字面值是char[N]类型,而在C++语言中,字符串字面值是const char[N]类型

4. C++ 多了一些关键字

C++多了很多关于面向对象的内容,与之一道多了很多关键字(如class,public等)
使用这些词汇作为变量名的 C 程序无法在 C++ 中成功编译