参考:Expert C Programming P366-P268
1、char b[3] = "Bob";//在C中合法,在C++中不合法。
sizeof('a');//C++中返回1,C中返回4。
2、C++允许一个常量整数来定义数组的大小,C中不允许。
eg: const int size = 128;
char a[size];
3、C++中,声明可以出现在语句可以出现的任何地方,C中,所有声明必须出现在所有语句的前面。
4、C++中,一个内层作用域的结构名将会隐藏外层空间中相同的对象名;在C中并非如此。
5、当void*指针赋给另一个类型的指针时,C++规定必须进行强制类型转换,但在C中却无必要。
6、完整的函数原型声明在C++中是必须的,但在C中却没这么严格。
C++支持引用参数的传递,而C不支持,但C中可以通过传递指针来达到这一目的。
7、C++中,由typedef定义的名字不能与已有的结构标签冲突,但在C中是允许的(它们分属不同的命名空间)。
8、C++中,用户代码不能调用main(),但在C中确实允许的。