经验总结

  1. 在语言中,没有所谓的对象和类,但他有结构体啊,这个结果里面,我可以存函数指针,然后还有变量,这样不是和C++的类完成一样的功能了吗。
    1.  在C语言中的结构体就是C++的类和对象,只不过,在C++中,对类有封装(就是public private和protected)  但是对于结构体没有所谓的封装。
    2.     C++的类就是C语言的结构体,C++的对象就是C的结构体变量。

 

  •    很多的C语言的编写的框架,有很多的结构体的嵌套,那么这些结构体的嵌套,其实就是我们C++中类的继承。
  •            平时说的  “接口啦” “接口的封装和设计”---->   就是  我们的函数,就是别人给你 函数名字,然后你知道函数的作用和传的参数的类型,以及每个参数代表的含义,然后直接调用,这个就是   ‘接口调用’。------API    ,在JAVA就是函数
  •           C语言和C++的编译器是不一样的。    
  • 分文件:就是  一个.c文件配套一个.h文件  然后 实现一个功能
      •     

         

      • 指针类型的变量  有几个*  就是几层的间接引用你看,我的  int* p=&a,这个*p  就是先找到a的地址,然后按照a的地址,去找该地址下的内容。
      • 函数传参,有数组类型,但是  为啥可以写成 int  a[]   --->是因为,在传参时,那个a就退化成一个指针了,为啥要退化成一个指针啊,为了高效,因为,你看,我想要传数组,那么int  a【100】 就得把这个100个int数据给传过去,但那时  我要传这个数组的指针,仅仅时首地址,然后我再传一个数组的大小,这样,我是不是减少了调用函数时,传参的时间啊。(传参其实就是复制内容)
      • 字符'\0'    ASCII值是0  但是0的ASCII值是48,所以  strlen遇到'\0'就停止  但是 sizeof是测得数组的长度,包含'\0'和0  滑油输出时’%s'也是,遇到'\0'就停止输出了。
      • 内联函数(在编译阶段处理)没有  压栈和出栈的耗时    宏函数(在预处理阶段处理)  也是没有  压栈和出栈耗时   所以  他们的高效在这里
posted @ 2018-01-01 14:31  小油菜1  阅读(168)  评论(0编辑  收藏  举报