C与C++的一点区别

  1. void*指针赋值给另一个类型的指针时,C++规定必须进行强制类型转换,但在C语言中却无必要
// C char *ptr = NULL; ptr = realloc(dynamic, total_elemet);

// C++ char *ptr = NULL; ptr = (char*)realloc(dynamic, total_elemet);

  1. 在C++中一个内层作用域的结构名将会隐藏外层空间中相同的对象名。在C语言中并非如此。
  2. 在C++中字符常量的类型是char,但在C语言中,它们的类型是int。也就是说,在C++中,sizeof('a')的结果是1, 而在C语言中,他的值要大一些。
// C sizeof('a'); //结果为4(在int型为32位的机器上)

// c++ sizeof('a'); //结果为1

【C与C++的一点区别】《C专家编程》P267

    推荐阅读