C/C++区别

本文详细探讨了C语言和C++语言的区别,包括它们的设计哲学、内存管理、函数调用规则、面向对象特性、符号生成规则以及在结构体、内联函数、常量定义和输出方式上的差异。此外,还讨论了Debug和Release版本的区别以及引用的使用规范。
摘要由CSDN通过智能技术生成

      c语言是面向过程的程序设计,主要核心为:数据结构和算法,具有高效的特性。对于C语言程序的设计,主要是考虑如何通过一个过程,对输入进行处理得出一个输出。C++是面向对象的程序设计,对于C++,首先考虑的是如何构造一个对象模型,让这个模型配合对应问题,这样可以通过获取对象状态信息得到输出

  new/malloc区别

   new/malloc区别

C++符号生成规则

  C语言中,只函数名有关;C++中,和函数返回值、函数名以及形参有关

函数重载的特点

  函数名相同、参数不同、函数作用域相同,C语言中函数名称不可以相同,即函数不可以重载


C/C++相互调用

extern     "C"

       1.extern修饰符可用于指示C或者C++函数 的调用规范:

比如在C++中调用C库函数,就需要在C++程序中用extern “C”声明要引用的函数。这是给链接器用的,告诉链接器在链接的时候用C函数规范来链接。主要原因是C++和C程序编译完成后在目标代码中命名规则不同。

 

        2.extern修饰变量的声明

         如 果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。

         3.extern修饰函数的声明

如果文件a.c需要引用b.c中的函数,比如在b.c中原型是int fun(int mu),那么就可以在a.c中声明extern int fun(int mu),然后就能使用fun来做任何事情。就像变量的声明一样,extern int fun(int mu)可以放在a.c中任何地方,而不一定非要放在a.c的文件作用域的范围中。

C语言struct和C++中struct的区别

  1. C语言中:struct是用户自定义数据类型(UDT);C++中struct是抽象数据类型(
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值