C语言和C++的一些区别

C++在语法上比C语言有了一些改进

  • C语言的变量申明必须放在函数最上面,C++没有这个限制
  • C语言的结构体不能直接当数据类型使用,必须加上struct关键字,而C++没有限制

    • C语言的结构体使用:
    struct student
    {char* name;int   age;
    };
    int main()
    {struct student stu = {0};   //使用结构体时必须要加上structstu.name = "Bob";stu.age = 18;return 0;
    }
    • C++的结构体使用
    student stu = {0};   //使用结构体时直接当成数据类型即可
  • C语言无法使用引用,C++加入了引用(即“&+变量”式的指针)机制
  • C++加入了bool型数据类型,C语言是没有的
  • C++加入了命名空间 using namespace
  • 定义域,例如:

    std::cout<<name;
  • C++ 加入了函数重载机制,允许使用同名但不同参数列表、不同返货类型的多个函数定义

  • C语言中没有默认参数,在使用默认参数时要注意二义性问题,尽量不要在设置了默认参数时使用函数重载
  • C++ 中加入了初始化语法,例如int a(5);,其实这个是把a初始化为5,等价于int a = 5;,类似的,动态内存申请也可以这样初始化,例如

    int* a = new int(5);    //申请4字节的int型内存空间,并将其初始化为5

    而对于new动态内存申请,跟多的用到的是[],l例如

    int* a = new int[5];    //申请5个int型内存空间(20字节),相当于一个有5个元素的int型数组
  • C++ 中struct结构体升级变得和类类似,可以拥有成员函数,析构函数等,但成员属性都是public。

    *  注:不过,本质上struct还是原来的结构体(和class不一样),本身没用成员函数,只是C++的编译器在编译时自动把你写的成员函数 编译成外部函数 并通过 引用 *实现“成员函数”的功能,也就是说struct和class有本质的区别,struct中没有class中的this指针。
      结构体中的成员函数只是为了提高编程效率,给程序员减轻一些负担而产生的一种优化。

  • 在C++ 中inline内联函数代替C语言中的宏函数

C语言和C++的一些区别相关推荐

  1. c语言 python-C语言、Java语言和python语言的区别在哪里

    原标题:C语言.Java语言和python语言的区别在哪里 我们经常听到C语言.Java语言和python语言,那么这三者的区别在哪里呢?随着科技的进步以及新技术的推进,编程语言的种类也是越来越多,随 ...

  2. python和c语言的区别-C语言、Java语言和python语言的区别在哪里

    原标题:C语言.Java语言和python语言的区别在哪里 我们经常听到C语言.Java语言和python语言,那么这三者的区别在哪里呢?随着科技的进步以及新技术的推进,编程语言的种类也是越来越多,随 ...

  3. java语言和C语言的区别

    java语言和C语言的区别 简单的说就是两种不同的语言. 区别如下: 1在运行方式上: C:原始的C是面向过程的.就是按行执行. JAVA:绝对的面向对象.就像按模块执行. (补充:当然,在C++,及 ...

  4. 论述c语言和java语言的区别,java语言和c语言的区别有哪些

    java语言和c语言的区别有单文件的编译时间java比c语言快:c语言可以直接操作内存,java不能直接操作:c语言可以封装动态库,java不行:c语言有指针,java没有指针:c语言可以直接操作串口 ...

  5. java语言和c语言_java语言和c语言的区别

    java语言和c语言的区别 java语言和c语言作为编程的两大语言,它们之间存在什么样的区别呢?下面百分网小编就为大家讲一讲,希望对您有所帮助! C语言是一门通用计算机编程语言,应用广泛.C语言的设计 ...

  6. python语言与c语言java的区别_c语言和java有什么区别

    区别:1.单文件的编译时间java比C语言快:2.C语言可以直接操作内存,java不能直接操作:3.C语言可以封装动态库,java不行:4.C语言有指针,java没有指针:5.C语言可以直接操作串口, ...

  7. python和c语言和java有什么区别_python和c的区别 python、java和c语言的区别?

    Python和c语言有什么区别如果我的坚强任性,会不小心伤害了你.你能不能温柔提醒,我虽然心太急,更害怕错过你 前者为 脚本语言 需要虚拟机 解释执行 ..一般情况下 不能生成exe(要使用打包工具) ...

  8. java c语言语法对比_c语言和java语法有区别吗?

    c语言和java语法有区别吗? c语言和java在语法上有区别,区别是: 1.C语言有指针,java没有指针: C语言的语法比较简单,但是它的亮点指针很容易出错,想要好好的运用指针是件很难的事情,用好 ...

  9. R语言和python语言的区别在什么地方,各自的应用场景是什么

    R语言和Python语言都是广泛使用的数据分析和科学计算语言,但它们有一些不同之处. R语言是一种专门用于数据分析和统计建模的编程语言.它提供了许多内置的数据结构和函数,可以方便地进行数据处理.可视化 ...

最新文章

  1. Java String.substring内存泄露?
  2. H5移动端开发学习总结
  3. 为什么 SAP 电商云 Spartacus UI RouterModule.forChild 传入的 path 为 null
  4. 大叔手记(12):我的一次面试经历(谈大叔如何应对面试官)
  5. python运算符_Python运算符总结
  6. 惠普暗影精灵3清灰_如何评价惠普笔记本这几年的表现?尤其是暗影精灵系列。...
  7. npm ERR! code ENOENT npm ERR! syscall open npm ERR! errno -4058 npm ERR! enoent ENOENT: no such file
  8. CoreData之增删改查
  9. ASP.NET MVC 5 - 控制器
  10. 【译】R包介绍:Online Random Forest
  11. JSP中的坑(二):使用include包含jsp文件时contentType中charset的值区分大小写
  12. Bundle Adjustment原理及应用
  13. 打游戏的计算机,玩游戏还得台式机!高性能游戏台式电脑推荐
  14. atoi函数_linux网络编程之POSIX 消息队列 和 系列函数
  15. Originpro拟合Gompertz模型
  16. 谷歌浏览器上传图片和图片另存为就卡死崩溃解决方案
  17. 结合环境专业计算机思维论文,环境艺术设计思维的表达论文范文
  18. Java面试宝典2017版
  19. 10-11月数据接口-京东商品信息api,金碟Api对接,京东商智监控商品request采集后指数还原,聚水潭第三方接入api,拼多多上架辅助非第三方SKU核对上传,拼多多销量无限修改更新
  20. 英文歌曲:Right Here Waiting(此情可待)

热门文章

  1. 什么是爬虫,常见的java爬虫框架有哪些?-蛙课网
  2. #解决仿微信聊天界面键盘遮盖聊天的界面
  3. 用Gzip进行js的超强压缩
  4. 教你50行代码实现前端路由小轮子
  5. 同人逼死官方系列!基于sddc 协议的SDK框架 sddc_sdk_lib 解析
  6. html连接accdb文件,与.accdb文件的简单C#连接
  7. spark-06:MLlib
  8. python女性素描_不给你的女朋友来张素描吗?使用python将图片转素描
  9. 智能用户增长: 一站式的消费者资产管理和运营平台
  10. 【QT学习】实现鼠标滑动触发的轮播图