结构体(变量(1个),数组(多个,同类型),结构体(混合类型))
界说:3种
struct stu{int sno;char sname[10]};//界说了一种类型,名字是stu,stu仅仅是一个类型,就像int,char(系统给界说好了)
struct stu aa;//struct stu是一个整体,代表是stu类型
int aa;//int也是一个类型
-----弥补----
typedef int age;//int能做什么,age也能做什么
int aa = 3;
age aa = 3;//age系统没有这个类型,你要自己界说一个类型age
age_JGT aa;
typedef struct stu{int sno;char sname[10]}age_JGT;
age_JGT aa,*qq;
---------------------------------------------------------
拜候:(. ->(*))
1 . 普通变量 aa.sno
2 -> 指针变量 (*)qq->sno 或 (*qq).sno
共用体(联合体)
界说:
union stu{int sno;char sname[10]};,他们是共用空间的,空间的年夜小是10个字节(取成员中占字节数最多的)(初始化的时候,只能给第一元素赋值)
枚举(个数有限,星期(只有7个)、性别(2种)...)
enum sex{man,woman};//枚举的值默认是从0开始,依次累加(man默认为0,woman默认为1),如果设置man = 3,woman默认是4
typedef用户自界说类型
界说格式:
typedef 类型 类型名(自界说的):举例:typedef int age;
-------------------------------------------------------------------------------------------------------------
文件(全部用的是库函数):
1 文件的打开
f = fopen("E:\\cyuyan\\qw.txt","r");//表11-1:r w a t b
//\具有转义的功能,为了避免它转义,\\,代表待会后面的\不会转义,就是一个\
2 文件的关闭
fclose(f);//关闭f所指的文件
3 文件的定位
rewind()
fseek()
feof()
ftell()
//考虑:文件指针变量的定位
//rewind(f);//作用就是把文件指针变量f指到文件的开头
/*fseek();//设置文件指针变量的位置
fseek(文件指针变量(参数1),偏移量(参数2),从什么处所开始偏移的(参数3));
参数3在抒写时有两种体例(表11-2):0(文件首部(SEEK-SET)),1(当前位置(SEEK-CUR)),2(文件末尾(SEEK-END))
fseek(f,0,2);//代表的含义是,要定位f所指的文件的光标,从文件末尾开始定位,移动0个位置,作用把光标指到最后一个位置
fseek(f,2,2);//代表的含义是,要定位f所指的文件的光标,从文件末尾开始定位,移动2个位置,作用把光标指到最后一个位置
fseek(f,2,0);//代表的含义是,要定位f所指的文件的光标,从文件开头开始定位,移动2个位置
feof(f)//函数作用判断指向文件的指针变量f是否结束(光标是否指向最后一个位置),如果结束,则返回整数(非0),如果没有结束,返回0
ftell(f);//获取指针变量f所指的位置到开始位置的字节个数,一般这个用来判断文件的字节个数(如果f指向末尾,那么ftell(f)的作用就是求文件占的字节数)
4 文件的读和文件的写
//char a = fgetc(f);//作用就是把指针变量f所指的那个字符给了变量a,然后指针变量f默认下移一位(系统默认做的)
#include<stdio.h>
void main()
{
FILE *f;//文件指针变量(FILE)界说了一个指针变量,这个变量指向一个文件,FILE是系统的类型
/*
fopen(文件的名(包含路径),使用体例);//第一个参数作用:告诉要打开那个文件(告诉路径(绝对路径),。如果不加路径,默认只能在当前文件中操作)
//第二个参数作用:你打开文件后,要做什么操作(读、写...)
*/
f = fopen("E:\\cyuyan\\qw.txt","r");//表11-1:r w a t b
//\具有转义的功能,为了避免它转义,\\,代表待会后面的\不会转义,就是一个\
rewind(f);
//考虑:文件指针变量的定位
//rewind(f);//作用就是把文件指针变量f指到文件的开头
/*fseek();//设置文件指针变量的位置
fseek(文件指针变量(参数1),偏移量(参数2),从什么处所开始偏移的(参数3));
参数3在抒写时有两种体例(表11-2):0(文件首部(SEEK-SET)),1(当前位置(SEEK-CUR)),2(文件末尾(SEEK-END))
fseek(f,0,2);//代表的含义是,要定位f所指的文件的光标,从文件末尾开始定位,移动0个位置,作用把光标指到最后一个位置
fseek(f,2,2);//代表的含义是,要定位f所指的文件的光标,从文件末尾开始定位,移动2个位置,作用把光标指到最后一个位置
fseek(f,2,0);//代表的含义是,要定位f所指的文件的光标,从文件开头开始定位,移动2个位置
feof(f)//函数作用判断指向文件的指针变量f是否结束(光标是否指向最后一个位置),如果结束,则返回整数(非0),如果没有结束,返回0
ftell(f);//获取指针变量f所指的位置到开始位置的字节个数,一般这个用来判断文件的字节个数(如果f指向末尾,那么ftell(f)的作用就是求文件占的字节数)
*/
//文件的读写操作(站在文件的角度,不是人的角度):
//fgetc-----从文件中读一个字符,然后给了你的变量 (读)
//fputc----把你的变量的值,写到文件中 (写)
//char a = fgetc(f);//作用就是把指针变量f所指的那个字符给了变量a,然后指针变量f默认下移一位(系统默认做的)
//fclose(f);//不要忘记了
}
//自界说一个文件:d:\zs\aa.txt
//在aa.txt中写一句话:woyidingyaoguocyuyan.
//用文件函数的操作,将aa.txt中内容全部输出到界面中
#include<stdio.h>
void main()
{
FILE *f;
char a;
char b;
//f = fopen("E:\\cyuyan\\qw.txt","r");
//rewind(f);
//a = fgetc(f);
//feof(f)//函数作用判断指向文件的指针变量f是否结束:
//如果结束,则返回非0
//如果没有结束,返回0
/*
while(feof(f) == 0)// feof(f) == 0等价于 !feof(f)
{
putchar(a);
a = fgetc(f);
}
putchar('\n');*/
f = fopen("E:\\cyuyan\\qw.txt","at");
rewind(f);//fseek(f,0,0);就是把光标定位到开始位置//fseek(f,0,2);就是把光标定位到末尾位置
fputc('a',f);//把原来笼盖了
//a = fgetc(f);
/*while(feof(f) == 0)// feof(f) == 0等价于 !feof(f)
{
putchar(a);
a = fgetc(f);
}*/
//putchar(f);
putchar('\n');
//fputc('a',f);函数的作用是把字母a写到f所指的光标的后面
fclose(f);
}
更多内容回复查看:
游客,如果您要查看本帖隐藏内容请回复