美文网首页
1222学习总结

1222学习总结

作者: 尘随风 | 来源:发表于2016-12-22 21:13 被阅读0次
栈:
局部变量,程序运行期间的变量分配大部分是在栈空间分配,
    函数结束后,系统自动回收资源,空间比较小,
堆:
堆空间比较大,可以由程序员自由支配,只能手动申请和释放
malloc申请的空间在堆上!

malloc()和free()要成对出现(即申请的堆空间要及时释放),
防止出现堆空间不足的现象

常见段错误:
指针:
    常量指针/NULL/野指针
数组:
    数组的越界访问,访问到非法区域或者修改了其它变量
其它:
    内存不足,双释放,内存泄露
栈和队列
栈:  先进后出;
队列: 先进先出;

预编译
#if 表达式
//执行语句
#elif 表达式
//执行语句
#else
//执行语句
#endif

文件

-:普通文件
d:目录文件
l:链接文件
p:管道文件
b:块设备文件
c:字符文件
f:堆栈文件

(1)文件系统
    文件信息:索引结点(index)
    文件操作:文件描述符(fd)
                fd最大值
    早期的Unix系统:   1024
    Linux系统:         65535
(2)文件的定义
    一组相关数据的有序集合,称为文件
(3)文件的打开和关闭
    打开:fopen(文件名,属性);
    关闭:fclose(文件指针); -------->#include<stdio.h>
    注:
        文件不关闭,不然会造成文件数据的丢失或混乱
    文件指针:
        文件指针结构体:FILE
        包含了文件的基本信息
  定义文件指针
    FILE *指针变量名;
文件名:可以是已存在的,也可以是不存在的,示属性而定
    文件名可以加路径(绝对路径)
属性:
    r(读)    w(写)    a(追加)
    +:可读写
    t:文本文件
    b:二进制文件
    rt,wt,at,rb,wb,ab,rt+,wt+,at+,rb+,wb+,at+
    rt+/wt+:可读写
    rt/rb:只读
    wt/wb:只写,带w属性的可以写文件,若文件已存在,则清楚文件,重新写文件
        若不存在,则以给定文件名创建文件
    r:带r属性的,文件必须存在
    
(4)文件的操作
    fgetc()/fputc():字符读写函数
    fgets()/fputs():字符串读写函数
    fscanf()/fprintf():格式化读写函数
    fread()/fwrite():块读写函数
    注:
        重点掌握fscanf()/fprintf()或者fread()/fwrite()
        至少掌握一种
        在C89标准中,fread()/fwrite()由BUG!!!
文件结束标志:EOF(end of file)

(5)fgetc()/fputc()
    fgetc(文件指针); //从给定文件中读取一个字符
    fputc(ch,文件指针); //添加一个字符到指定文件中
(6)fgets()/fpus()
    fgets(字符数组/字符串常量/指针,size,fp);
        从fp获得size-1个长度,在末尾加'\0'
        碰到EOF或者换行符结束
    fputs(arr,fp);
        将字符串写入到文件fp中
    stdin:标准输入    键盘
    stdout:标准输出   终端
    stderr:错误输出   终端
(7)fascanf(fp,"格式",参数列表);   //读文件
    <--------------
   fprintf(fp,"格式",参数列表);   //写文件
    -------------->
   写入文件的时候是什么格式,读出来就是什么格式,不然会出错
(8)fread()/fwrite() //块读写
    fread(address,size,count,fp);   //读
    <-------------
    fwrite(address,size,count,fp);  //写
    -------------->
    adress:地址
    size:大小---->sizeof()/或者具体数值
    count:读写的块数(一般情况下默认1)
    fp:文件指针

相关文章

网友评论

      本文标题:1222学习总结

      本文链接:https://www.haomeiwen.com/subject/oeuhvttx.html