zoukankan      html  css  js  c++  java
  • C和指针 阅读笔记(11-15章)

    malloc和free维护一块内存池(堆)

    malloc申请内存返回一块连续内存的指针,如果申请失败,则返回NULL指针。在对申请到的空间使用前要先判断非NULL指针。

    calloc申请内存:入参需要 所需元素个数和每个元素的字节数,而且返回内存前会先把内存初始化为0。

    free释放内存:入参是申请时返回的内存指针

    这种手动申请动态内存的好处是:在运行时才分配内存。(堆栈上的则是在编译时就被分配)

    内存泄漏:动态内存申请后,不再使用时未被释放。这块内存会一直占用,直到内存耗尽不得不重启。

    字符串常量出现在表达式中时,它表示1个指针常量指向第一个字符,因此  “xyz”+ 1 的结果是 y

    命令行参数:argc和argv

          argc:整数,参数的数量

          argv:字符指针数组,内部每个指针指向一个命令行参数,以一个NULL指针作为结束标志。

    条件编译:(如果最终调式完毕,输出最终库,define  DEBUG 0)

    #define DEBUG 1

    #if   DEBUG

        printf(" 启动DEBUG编译")

    #endif

    #progma  不可移植

    流stream:  I/O操作中移进移出的字节

    读取和写入:从一块称为缓冲区buffer的内存区域来回复制数据;用于输出流的缓冲区只有当被写满时才会被刷新flush(写入)到设备或文件中。

          输入缓冲区为空时从设备或文件读取下一块较大输入,填充缓冲区。

    流分两种:文本流text              r          w

         二进制流binary      rb         wb

    fopen函数:打开一个特定的文件,并把流和这个文件关联。

          函数执行成功,返回一个结构指针,指向这个新创建的流;执行失败,返回一个NULL指针。

    关闭流:fclose ( 创建时的流指针)

    函数从流中读取字符:读到末尾,返回EOF常量,代表不再有字符了。

      

  • 相关阅读:
    申请奖励加分
    6.14
    6.11
    6.10
    6.9
    6.8
    6.7
    6.6
    6.5
    6.4
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/12780393.html
Copyright © 2011-2022 走看看