- 博客(9)
- 收藏
- 关注
原创 io--day04
但是需要考虑临界资源(临界资源包括同一个文件,全局变量等)访问的问题,进程间的通信相对复杂,需要借助进程间的通信机制(借助3g-4g的的内核空间)vfork(): 保证子进程先运行,在调用exec()或exit()之前,与父进程数据共享,在exec()或exit()调用之后,父进程才能运行。共享的资源:可执行的指令,静态的数据,进程中打开的文件描述符,信号处理函数。如果子进程退出,父进程没有退出。通过父子进程完成对文件的拷贝(cp),父进程从文件开始到文件的一半开始拷贝,子进程从文件的一半到文件末尾。
2024-11-13 20:58:35
512
原创 io进程的归纳总结--day02
IO进程(day02文件IO)标准IO补充fread fwrite 读写二进制文件示例代码:将一个int类型的数组写到文件中,再读出来偏移函数 rewind fseek ftell文件IO文件IO是POSIX提供的一组内核层向上的输入输出的函数接口文件IO的特点没有缓存机制每次调用都会引起系统调用。围绕文件描述符进行操作的,文件描述符是一个非负的整数依次进行分配。文件IO默认打开三个文件描述符0(标准输入),1。
2024-11-11 18:33:02
525
原创 10天速通c基础--day06
出现的原因有:访问不存在的内存地址、访问系统保护的内存地址 、访问只读的内存地址、空指针废弃 (eg:malloc与free释放后,继续使用) 、堆栈溢出、内存越界 (数组越界)p+n:向高地址方向(暂时)移动n个数据单位(int:4 char:1);//指针初始化,可以赋值为NULL;p++:向高地址方向移动一个数据单位(int:4 char:1);只有在定义指针时,*表示定义指针的标志,其他情况下*表示取内容。//定义指针的同时直接赋值。//先定义指针,后赋值。
2024-11-11 09:56:09
1526
原创 10天速通c基础--day05
sizeof计算包括'\0',strlen不包括'\0'假设第一个元素最小,和后边每一个进行比较,比较过程中遇到了更小值,暂存下标位置,直到一轮比较结束,再把最小值和最左边位置交换;只有在定义数组时,[ ]里表示元素个数,其他情况下,[ ]里表示索引。访问: 数组名[行下标][列下标] 下标从0开始。数据类型 数组名[行数][列数];
2024-11-11 09:46:15
718
原创 10天速通c基础--day04
按字节赋值 int 4字节 1字节=8位 00000001 00000001 00000001 00000001。只有在定义数组时,[ ]里表示元素个数,其他情况下,[ ]里表示索引。/**/ 多行注释 选中一片代码 ctrl shift a 不支持嵌套多行注释。A. 死循环,不能确定次数 B. 6 C. 10 D. 1。可单独赋值a[0]=2;参数:s:数组首地址 n:字节大小 size_t==int。参数:s:数组首地址 n:字节大小 c:要设置的值。数组名也是数组首地址,是一个地址常量,不能被修改。
2024-11-09 12:39:31
582
原创 10天速通c基础--day03
写程序实现功能:读入两个整数(data1和data2)和一个运算符(op),计算表达式data1 op data2 的值.其中op可以为+、-、*、/四个符号中的任一种(用switch语句实现)switch语句中,如果没有break,会从符合条件的分支开始一直执行下去,直到遇到break为止或switch运行结束。输入任意两个数,输出两数之间(包括这两个数)偶数之和。例:输入2和6或者6和2,输出12。终端输入一个整数,判断有几位为1(5:101 2位)printf("a的值为:%d b:%d c:%c。
2024-11-09 12:25:38
792
原创 十天速通c基础--day02
(表达式1,表达式2,表达式3,...,表达式n)"hello" 5个字符+'\0'字符串结束标志 == 6个字符。逻辑与运算中,前边表达式结果为假,后边表达式不再执行,返回假。逻辑或运算中,前边表达式结果为真,后边表达式不再执行,返回真。堆区:程序员手动开辟(malloc)、回收(free)栈区:系统自动开辟、回收 (函数体内部定义的变量)全局区、静态区: 全局变量、static修饰的变量。a=3,b=5,对a和b的值进行交换。表达式2 : 表达式3;用" "包裹 '\0'字符串结束标志。
2024-11-09 12:06:01
554
原创 十天速通c基础--day01
大纲:基础内容:进制转换、词法符号(关键字、运算符、标识符、分隔符、标点符号)、变量常量、输入输出 分支语句(if_else,switch_case)、循环语句(for,while,do_while)、循环控制语句(break,continue)数组:一维数组、二维数组、字符数组、冒泡排序、选择排序指针:一级指针、二级指针、指针数组、数组指针、指针和数组函数:函数基本用法、string函数族、开辟堆区空间、递归函数结构体:结构体变量、结构体数组、结构体指针共用体、枚举linux命令。
2024-11-09 11:45:41
2207
原创 io进程的归纳总结--day01
不同的操作系统只要移植了C库就可以使用,它是在系统调用之前做了一个二次封装,相当于是间接的进行了系统调用。可移植性强,可以在不同的系统环境下进行使用1.1 标准IO调用逻辑(了解)标准IO读写文件if(是linux操作系统)调用linux的系统函数if(是windows操作系统)调用的windows系统函数if(是macos操作系统)调用的macos系统函数。
2024-11-08 20:31:46
1689
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人