在c++中存在,在c语言中却不存在的限制有:
1. 完整的函数原型声明是必须的,c语言里没这么严格.
2. c++中,由typedef定义的名字不能与已有的结构标签冲突,但是c语言中却是可以的.
3. 当void*指针赋值给另一个类型的指针时,c++规定必须进行强制类型转换,但是c语言中却不必要。
在c++和c中含义不一样的特性:
1. c++中增加了至少十几个关键字
2. c++中,声明可以出现在语句可以出现的任何地方,在c语言的代码块中,所有的声明必须出现在所有语句的前面。
3. c++中,一个内层作域的结构或变量名会隐藏外层空间的结构或变量名。在c语言中则非如此。
4. c++中,字符常量的类型是char,但是是在c语言里,字符常量的类型是int。
当然,c++添加了面向对象的特性。这是与c语言最大的不同。