![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
Z.Shmily
这个作者很懒,什么都没留下…
展开
-
struct 结构体大小 结构体定义 位段(位域)
结构体结构体的定义方式结构体大小的计算结构体的定义方式//使用方式一struct 结构体名{ int a; int b; char x;}; //需要分号struct 结构体名 变量名;//使用方式二 声明与定义同时进行struct 结构体名{ int a; int b;}变量名;//使用方式三 直接进行定义struct { int a; int b;}stu1;//使用方法四 使用typedef 重新定义一个数据类型typedef st原创 2021-02-13 23:32:38 · 1959 阅读 · 0 评论 -
排序法
冒泡排序法对里面的元素进行分析对里面的元素进行赋值操作 第一个5 第二个90 第三个 -9 第四个0 第五个8 通过4次依次得到从右到左的最大值 int i; int md; int j=0; for(i=0;i<cmd;i++){ for(j=0;j<cmd-i;j++){ if(aa[j]>aa[j+1]){ md=aa[j];原创 2021-01-29 14:23:15 · 75 阅读 · 0 评论 -
条件编译 #if 预处理器
1.条件编译中使用的预编译指令#define 定义一个预处理宏#undef 取消宏的定义#if 编译预处理中的条件命令,相当于C语法中的if语句#ifdef 判断某个宏是否被定义,若已定义,执行随后的语句#ifndef 与#ifdef相反,判断某个宏是否未被定义#elif 若#if, #ifdef, #ifndef或前面的#elif条件不满原创 2021-01-16 22:55:35 · 380 阅读 · 0 评论 -
关于链表的操作
链表就是把结构体连接起来头插法head 表示链表的头new表示新插入的文件头插法的目的就是把new插入在head前面使用一段代码进行讲解struct student *touChaFa(struct student *head){ struct student *phead; phead=head; struct student *new=NULL; if(head==NULL){ head=new; return head;原创 2020-12-03 21:38:23 · 216 阅读 · 0 评论 -
进程间通信 无名管道pipe 有名管道fifo mkfifo 消息队列msg 共享内存shm 信号signal sigaction 信号量
IPC 进程间的通信IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。一、管道管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。1、特点:它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。它可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write 等原创 2020-11-17 22:47:12 · 855 阅读 · 1 评论 -
用户权限
ls -l查看用户的权限下面具体介绍chmod命令。Linux系统中,每个用户的角色和权限划分的很细致也很严格,每个文件(目录)都设有访问许可权限,利用这种机制来决定某个用户通过某种方式对文件(目录)进行读、写、执行等操作。操作文件或目录的用户,有3种不同类型:文件所有者、群组用户、其他用户。最高位表示文件所有者的权限值,中间位表示群组用户的权限值,最低位则表示其他用户的权限值,所以,chmod 777中,三个数字7分别对应上面三种用户,权限值都为7。文件或目录的权限又分为3种:只读、只写、可执行。原创 2020-11-15 10:58:24 · 84 阅读 · 0 评论 -
exec族函数配合fork函数使用 system函数 popen函数
通过文件编程小应用修改文件的信息这个代码把修改文件的通过gcc dema.c -o change产生一个可执行文件changeint main(){ pid_t pid; int deta; while(1){ printf("please data\n"); scanf("%d",&deta); if(deta==1){原创 2020-11-12 22:34:48 · 190 阅读 · 0 评论 -
linux进程---exec族函数 转载
exec族函数函数的作用:我们用fork函数创建新进程后,经常会在新进程中调用exec函数去执行另外一个程序。当进程调用exec函数时,该进程被完全替换为新程序。因为调用exec函数并不创建新进程,所以前后进程的ID并没有改变。exec族函数定义: 可以通过这个网站查询:linux函数查询功能: 在调用进程内部执行一个可执行文件。可执行文件既可以是二进制文件,也可以是任何Linux下可执行的脚本文件。函数族: exec函数族分别是:execl, execlp, execle, execv原创 2020-11-12 19:19:31 · 115 阅读 · 0 评论 -
父进程等待进程 wait waitpid abort 异常退出 孤儿进程
子进程状态不被收集的话,这个进程就变成僵尸进程,父进程等待子进程退出,并收集子进程的退出状态。 #include <sys/types.h> #include <sys/wait.h>//函数原型pid_t wait(int *status);/*status参数是一个整数型指针非空:子进程退出状态放在它的地址中空:不关心退出状态wait(NULL)后子进程结束后就消失不会变成僵尸进程*/...原创 2020-11-12 13:41:04 · 257 阅读 · 0 评论 -
进程相关概念 读取当前进程getpid 读取父进程id getppid
进程是程序的一次运行活动通俗点的意思就是程序跑起来了,系统中多了一个进程如何查看在liunx下面使用 ps 指令进行查看完整的是 ps -aux但是显示的太多,需要筛查 配合grep来查找系统中的进程ps-aux|grep init 直接筛选出来init的进程或者使用top指令 类似windows的任务管理器进程标识符每个进程都有一个唯一的非负整数表示唯一ID叫做pid,类似与我们的身份证pid=0;成为交换进程,表示进程调度pid=1;表示init进程 作用系原创 2020-11-11 21:32:20 · 1286 阅读 · 0 评论 -
学生成绩管理系统
学生成绩管理系统,通过两个链表,分别代表学生和班级的链表班级的链表作为学生链表的头可以输入成绩,学生成绩有数学,语文,和英语,找出学生成绩总分的最高分和最低分,并求出平均成绩首先定义两个结构体,一个表示班级的结构体,一个表示为学生的结构体//学生结构体typedef struct Student { int xueHao; int yuWen; int shuXue; int yingYu; int zongFen;原创 2020-11-10 20:23:59 · 264 阅读 · 0 评论 -
linux指令
cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回上次所在的目录 pwd 显示工作路径 ls 查看目录中的文件 ls -F 查看目录中的文件 ls -l 显示文件和目录的详细资料 ls -a 显示隐藏文件 ls *[0-9]* 显示包含数字的文件名和目录名 tree 显示文件和目录由根目录开始的树形结构lstree 显示文件和目录由根目录开始的树原创 2020-11-09 16:53:04 · 152 阅读 · 0 评论 -
运算符
| 和 ||,& 和 && 的区别我们将 || 和 && 定义为逻辑运算符,而 | 和 & 定义为位运算符。&& 如果两个操作数都非零,则条件为真;|| 如果两个操作数中有任意一个非零,则条件为真。& 按位与操作,按二进制位进行"与"运算。运算规则:(有 0 则为 0| 按位或运算符,按二进制位进行"或"运算。运算规则:(有 1 则为 1...原创 2020-11-09 16:48:42 · 53 阅读 · 0 评论 -
文件编程概述,文件创建、打开和编辑,标准C语言库函数的编写
Linux操作系统提供一系列的API打开 open写 读 write read光标定位 lseek关闭 close原创 2020-11-09 15:33:30 · 393 阅读 · 0 评论 -
函数返回值
函数无返回值无参数void maimi(){printf(“输出你买了多少米\n”)}\\ 不管你买没买回来,只是让你去买米int main(){maimi();system(“pause”);return 0;}函数有一个参数,没有返回值void maimi(int len)\\就是局部变量,只在这个函数里面有作用,其他地方不起作用。{printf(“你买了%d斤米\n”,len);}int main(){ int a ; maimi(a);\\原创 2020-10-31 10:28:18 · 151 阅读 · 0 评论