zoukankan      html  css  js  c++  java
  • C语言高级-结构,共用体,文件,链表

     

    C语言结构

     

    标准声明方式   

    struct student{
            int age;
            char sex;
        };

    这个可以在main函数中定义:

     struct student a={ 20,'m'};

    声明同时定义

    struct student{
            int age;
            char sex;
        }a = {20,'m'};//这里就定义了变量a

    最不科学的方式

    struct {
            int age;
            char sex;
        }a = {20,'m'};

    结构体数组

    struct student{

      int age;

      chat name[10];

    };

    struct student s_1[10];

    s_1 [0].age= 3;

    s_1[0].name[0] = 's';

     

    结构体指针

    strunc student{

      int age;

      chat sex;

    };

    struct student *p;

    struct student s_1;

    p = &s_1;

    p->age = 23;

    p->sex = 'M';

    位域

    把一个字节分配给成员

    struct data{

      unsigned int a:2;//表示data的低两位

      unsigned int b:4;//表示3-6

      //unsigned int :0;    //如果一个字节不够就使用这句代码,这与代码叫空域

      unsigned int c :2;//6-8

    };

    strunct data s1,s2;

    位域可用来进行位操作

     

    C语言结构体这里就做个简单了解,后期学习stm32的时候我会着重再讲一遍。这里我就不太深的涉及指针,内存分配等这些内容。

    //________________________________________________________________________________________________________________________________________________

    共用体

    什么是共用体

    共用体的定义:

    union 共用体名{

      成员列表

    }

    共用体中所有成员占用同一段内存,修改一个成员会影响其余所有成员。同一时刻只能保存一个成员的值,如果对新成员赋值就会覆盖之前成员。

    union data{

      int as;

      chat bs;

      double cs;

    };

    union data a,b,c;

    a.as = 2;

    b.bs = 's';

    //_____________________________________________________________________________________________________________________________________

    C语言文件的操作

     

    START:

    C语言中程序结束了,信息就没了,此时就需要讲所需要的信息保存下来。显然不能保存在内存中,所以就要以文件形式保存在外部储存器

    步骤:

    创建文件指针变量  FILE * fp;

    打开文件      fp = fopen

    读写文件      

      读文件  fscanf(),fread()

      写文件  fprintf(),fwrite()

    关闭文件    fclose(fp);

    如下面的代码:

    #include "stdio.h"

    void main() {  

    //定义一个文件指针变量  

    FILE * fp;  

    //让文件指针以只写的方式指向这个地址  

    fp = fopen("E:\fire.txt","wt");  

    //用fprintf函数将信息写入文件指针fp指向的文件中  

    fprintf(fp, "sjdlksajdiokljf");  

    //关闭文件指针  

    fclose(fp);

     //定义一个字符数组存文件信息  

    int arr[50];  

    //让文件指针以只读的方式指向这个地址  

    fp = fopen("E:\fire.txt","rt");  

    //用fscanf函数讲该文件文件信息读取出来放入字符数组中  

    fscanf(fp,"%s",arr);  

    fclose(fp);  

    printf("%s",arr);  

    }

    //_____________________________________________________________________________________________________________________________________________

    文件使用方式        意 义
    “rt”      只读打开一个文本文件,只允许读数据
    “wt”      只写打开或建立一个文本文件,只允许写数据
    “at”      追加打开一个文本文件,并在文件末尾写数据
    “rb”      只读打开一个二进制文件,只允许读数据
    “wb”    
      只写打开或建立一个二进制文件,只允许写数据
    “ab”       追加打开一个二进制文件,并在文件末尾写数据
    “rt+”     
    读写打开一个文本文件,允许读和写
    “wt+”      读写打开或建立一个文本文件,允许读写
    “at+”     
    读写打开一个文本文件,允许读,或在文件末追加数 据
    “rb+”      读写打开一个二进制文件,允许读和写
    “wb+”     
    读写打开或建立一个二进制文件,允许读和写
    “ab+”      读写打开一个二进制文件,允许读,或在文件末追加数据

    ssss

    文件常用函数表

    fopen()  打开文件

    fclose()  关闭文件

    fread()  将数据从文件中读到缓冲区

    fwrite()  将数据从缓冲区写到文件中

    fprintf()  类似于printf

    fcanf()   类似于scanf

    feof()     判断文件活动指针是否达到文件末尾,达到就返回true

    rewind()  将文件位置指示器重新至于文件开头

    remove()  删除文件

    fflush()    将内部缓冲区的数据写入指定文件

    END:

  • 相关阅读:
    剑指offer-第五章优化时间和空间效率(从1到n的整数中1出现的次数)
    《需求工程--软件建模与分析》读书笔记05
    《需求工程--软件建模与分析》读书笔记04
    软件需求第二次课后作业
    2018年春季个人阅读计划
    软件需求与分析——大二下需会知识点
    《需求工程--软件建模与分析》读书笔记03
    《需求工程--软件建模与分析》读书笔记02
    《需求工程--软件建模与分析》读书笔记01
    学习过程总结及对教师授课给出的意见和建议
  • 原文地址:https://www.cnblogs.com/fire-7/p/7120054.html
Copyright © 2011-2022 走看看