zoukankan      html  css  js  c++  java
  • 面试准备——(二)专业知识(4)C/C++语言

    1. 预处理 断言

    assert的功能,assert(statement),如果statement为真则程序继续执行,为假则整个程序中断退出

    3.

    #define

    #ifndef DISKSIM_SSD_H  //如果这个头文件已经被编译过了,则这个DISKSIM_SSD_H也就被定义过,这编译到这里就不在往下编译了

    #define DISKSIM_SSD_H  //如果这个头文件是第一次被编译,则这个DISKSIM_SSD_H在这里定义

    statement              //头文件的内容

    #endif                 //定义结束

    】这个语句的作用是防止在编译的时候重复编译此头文件

    4. c语言的内存管理:

    对于一个c程序而言,内存空间由5个部分组成

    堆,栈,bss段,数据段,代码段

    堆:程序运行时被动态分配的内存段,如malloc申请的内存就在这里

    栈:存放局部变量,函数被调用时其参数被压入栈,函数调用完,其返回值也存放在栈中,先进先出*****因此要少用递归,不然会爆栈,即栈的空间被用完。

    bss段:存放未初始化的全局变量和静态变量

    数据段:存放已初始化的全局变量和静态变量

    代码段:存放程序执行的代码,通常只读

     

  • 相关阅读:
    远程服务器git搭建
    Ubuntu安装配置MySQL数据库,Apache,PHP
    html radio check
    opencv 抠图联通块(c接口)
    Vim命令
    二维码
    zTree Jquery eCharts
    Java进阶篇设计模式之二 ----- 工厂模式
    SpringBoot整合Netty并使用Protobuf进行数据传输(附工程)
    SpringBoot整合Jsp和Thymeleaf (附工程)
  • 原文地址:https://www.cnblogs.com/lesleysbw/p/6414168.html
Copyright © 2011-2022 走看看