欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C与C++的一点区别

程序员文章站 2022-07-13 23:34:08
...
  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专家编程》P267