关于C++与C

  • C语言是C++的基础,要能够明确的区分C与C++的内容
  • C语言中的结构体,const,运算符重载,int *xint* x的区别
  • C++面向对象要从头再学习了

C++

  • 函数之间的参数传递都是按值传递的
  • 内联函数:在编译的时候将函数体直接插入到函数调用处,避免函数调用时保存和恢复现场。不能包含复杂的控制语句。
  • 关于程序的内存区问题,在学完51单片机之后终于彻底理解了。
    1.全局/静态存储区及常量存储区,在编译时已经分配完毕
    2.栈区
    3.堆区
  • 静态全局变量对于同一个源文件中的函数是可以访问的。
  • 静态局部变量离开函数值仍保留,但不能够为其他函数引用
  • 引用是C++中新的概念
  • 程序中定义的变量在编译时被分配了内存空间,变量名也就成了相应的内存空间名称,在程序中使用名字访问该内存空间。这种按变量地址存取变量值的方式也叫做“直接访问”方式。
  • 关于int *xint* x。实际上int *x,yint* x,y就能够体现那个好一点。实际上我更倾向后一种写法,虽然在这种情况下会造成混淆。但是我觉得在函数原型中使用int fun(int* x,int* y)这样较好。
  • a[i]在编译时处理成*(a+i)
  • int (*p)[4]int *p[4]的区别:前者表示p是一个指向4个int的指针,后者是一个指针数组
  • 编译器对于字符串常量的处理,遇到字符串常量时,编译器将其放到内存data区的const区中,字符常量就变成了地址。
  • 每一个函数都占用一段内存单元,他们有一个起始地址
  • p=new int[20]int a[20]是不同的,前者是在程序运行时分配内存,而后者应当是在编译期就分配空间
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目类型 a.C++与C差异(1-18) 1.C和C++中struct有什么区别? C没有Protection行为...
    阿面a阅读 12,323评论 0 10
  • 1.面向对象的程序设计思想是什么? 答:把数据结构和对数据结构进行操作的方法封装形成一个个的对象。 2.什么是类?...
    少帅yangjie阅读 10,455评论 0 14
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,848评论 3 44
  • 文 谢西九 兔罝诗经 国风 周南肃肃兔罝,椓之丁丁。赳赳武夫,公侯干城。肃肃兔罝,施于中逵。赳赳武夫,公侯好仇。肃...
    谢西九阅读 7,532评论 21 54
  • 刚在朋友圈把自己苏州二套房的合同贴出来就有N多少评论说【土豪】~ 我不想揣摩评论者的真实心态亦不想做过多评论,我只...
    薇薇总爱奋斗阅读 1,477评论 0 0

友情链接更多精彩内容