自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 收藏
  • 关注

原创 Linux文件类型

块设备文件通常是对应于设备,如硬盘驱动器或其他块设备,使用块级别的 I/O 操作。:代表字符设备文件。字符设备文件通常是对应于设备,如串口、键盘等,使用字符级别的 I/O 操作。:代表命名管道文件。命名管道文件用于进程间通信,是特殊类型的文件。:代表符号链接文件。符号链接(软链接)文件指向另一个文件或目录。目录文件是用于存储其他文件或目录的文件。后面的一个字符表示文件类型,其含义如上所述。套接字文件用于进程间通信。命令查看目录内容时的文件类型标识。

2023-12-31 21:45:24 402

原创 五.共享内存

共享内存概述: 共享内存允许两个或者多个进程共享给定的存储区域。共享内存是一种用于实现进程间通信的机制,允许多个进程共享同一块物理内存区域。这种通信方式允许多个进程访问共享的数据,避免了数据复制和传输开销。

2023-12-31 20:59:08 957

原创 四.消息队列

三.消息队列

2023-12-30 15:30:28 900

原创 三.Linux无名管道(PIPE)和有名管道(FIFO)的区别

命名管道适用于任意多个进程之间的通信,而无名管道适用于具有父子关系或兄弟关系的进程之间的通信。命名管道可以通过在文件系统上创建特定文件来实现,而无名管道是由操作系统内核自动创建的。命名管道提供了一个可供多个进程使用的路径,而无名管道仅适用于创建它的进程及其相关的进程。无名管道只能进行单向通信(一个进程用作写入端,另一个进程用作读取端),而命名管道可以支持双向通信。需要根据具体的通信需求选择适合的管道类型。

2023-12-29 21:19:30 514

原创 二.有命管道(FIFO)

Linux进程间通信(IPC)-有名管道pipe

2023-12-29 21:11:54 906

原创 一.无名管道(pipe)

Linux进程间通信(IPC)-无名管道pipe

2023-12-29 15:05:51 884

原创 ncurses函数介绍和使用

在本篇博文中,我们将介绍`ncurses`库以及如何使用它的一些常见函数来创建简单的文本界面应用程序。这个示例演示了如何初始化`ncurses`,输出文本,刷新屏幕,等待用户按键,然后关闭`ncurses`。",并等待用户按下任意键后退出。在开始使用`ncurses`之前,你需要确保它已经安装在你的系统上。`initscr()`函数用于初始化`ncurses`,而 `endwin()`函数用于关闭`ncurses`。`ncurses`是一个强大的工具,用于创建文本界面应用程序,它提供了丰富的功能和灵活性。

2023-09-15 23:30:11 790

原创 娱乐小玩意(切勿当真!!!)

printf("检测到你的身高有%dCM\n", shengao);printf("检测到你的颜值有%d分\n", yanzhi);printf("检测到你有%d万\n", qian);puts("做你女朋友");puts("请问你的颜值多少分?puts("请问你的身高是多少?puts("请问你有多少钱?puts("嫁给你");puts("想屁吃");

2023-08-31 22:15:49 69

原创 三个变量排序

printf("从小到大的顺序是:%d,%d,%d\n", data3, data2, data1);printf("请输入三个数\n");

2023-08-31 19:34:54 105

原创 字母大小写转换

printf("请输入%d个字母:\n", n);puts("请输入你要转换的字母个数");

2023-08-31 17:06:07 64

原创 gets与puts

/要一一对应每字符串里的每一个字符,如果对字符串直接操作(s1+4),是对指针进行++,出现乱码.#include //getchar是C语言的标准库函数。puts("请输入初始密码:");puts("加密后的密码为:");

2023-08-31 11:34:17 47

原创 【无标题】getchar和putchar一起用的细节

/getchar和outchar都是只能输出一个字符,因为getchar里面没有scanf里面那样&地址了,使用必须要s=getchar,指定这个外部键盘获取的字符是存储在char s里的.#include //getchar是C语言的标准库函数。

2023-08-30 21:27:19 108

原创 字符串查找(strchr,strstr)细节错误

/此处地址里存储的是字符,存在地址里的字符后面无结束符,不确定后面的元素,所以无法查找(结果错误,无法查找)//char* b = 'l';//此处为字符串,因为字符串后面有\0有结束符才能查找.(可以查找)strchr(str, *b);//此处为确切字符,后面无元素,可查找.puts(strupr(strings));puts("未找到该字符");puts("找到了该字符");puts("未找到该字符");puts("找到了该字符");

2023-08-29 16:53:45 128

原创 字符串易错点(字符串四种存储方式打印的区别)

/此处会出现乱码,字符串结尾会出现'\0',str[3]内的3会限制打印字符串时只打印前三个字符,所以还没出现乱码。//此处为第三种定义字符串的方式,元素个数不写,会根据真实大小默认分配.char str[3] = { 'a','b','c' };//此处为定义字符串的第一种方式,和数组类似。//此处为第四种方式定义字符串,采用指针的方式。//此处会出现乱码,字符串结尾会出现'\0'printf("%s\n", pstr);

2023-08-29 15:14:35 44

原创 字符串易错点(strcpy,strncpy)

/此处要对strDest进行重置,一申请了空间就必须重置,否则拷贝后乱码.// strncpy(strDest, "hello world", 7);

2023-08-29 14:51:01 41

原创 z字符串易错点(strcat,strcmp)

此处错误,会造成内存踩踏(test里只有4个字节,拼接过后内存超了)printf("复制字符串完毕%s\n", strDest);printf("两个字符串一样\n");puts("拼接字符串完毕%s",test);

2023-08-29 14:47:06 52

原创 二维数组的大小和位置判断

printf("最大值为:%d在第%d行第%d列", max,hang+1 ,lie+1 );

2023-06-19 21:37:36 261

原创 斐波那契数列的多种表达方式

int main()int a[10];int b;int i;a[0] = 0;a[1] = 1;for (i = 2;i < 10;i++)for (i = 0;i < b;i++)return 0;

2023-06-19 20:54:54 71

原创 冒泡排序法

int main()for (i = 0;i++)for(j=i+1;j

2023-06-19 20:54:23 53

原创 连续排序法的三种解法

printf("从小到大的顺序是:%d,%d,%d\n", data3, data2, data1);printf("请输入三个数\n");

2023-06-15 22:46:26 58

原创 创建链表之尾插法

int data;while (p!= NULL)return 1;return 0;return new;= NULL)= NULL)while (p!= NULL)cnt++;return cnt;free(p);= NULL)= NULL)

2023-06-10 17:05:28 45

原创 头插法优化

int data;while (p!= NULL)return 1;return 0;return new;= NULL)= NULL)while (p!= NULL)cnt++;return cnt;free(p);= NULL)= NULL)

2023-06-10 16:54:34 40

原创 创建链表之头插法

int data;while (p!= NULL)return 1;return 0;return new;= NULL)= NULL)while (p!= NULL)cnt++;return cnt;free(p);= NULL)= NULL)

2023-06-10 16:22:41 51

原创 链表(静态)删除指定节点

int data;while (p!= NULL)return 1;return 0;return new;= NULL)= NULL)while (p!= NULL)cnt++;return cnt;= NULL)return 1;}return 0;free(p);

2023-06-10 15:31:03 50

原创 链表:从指定节点前方插入新节点

int data;while (p!= NULL)return 1;return 0;return new;= NULL)= NULL)while (p!= NULL)cnt++;return cnt;= NULL)return 1;}return 0;int main()int i;

2023-06-08 20:11:49 136

原创 从指定节点后方插入新节点

链表:从指定节点后方插入新节点

2023-06-06 20:01:02 54

原创 结构体指针综合处理(学生成绩管理)

printf("名字:%s 成绩:%d\n", p->name, p->chengji);//此处不能用*p,*表示运算符取地址的意思.指针循环之后往回走到指针头。//此处的*表示标识符申明变量*/printf("请输入名字:\n");printf("请输入分数:\n");//for循环里要指针++;//此处为指针头,要++遍历。

2023-04-04 23:42:24 47

原创 链表的插入(从节点后插入)

链表的插入

2023-03-09 17:20:07 81

原创 链表的节点个数与查找

链表的节点个数与查找

2023-03-09 15:36:43 73

原创 链表静态添加和动态遍历

链表静态添加和动态遍历

2023-03-09 01:28:21 49

原创 链表和数组的区别

/和结构体同类型的指针。//前一个变量存放着后一个变量的地址。

2023-03-09 00:24:29 39

原创 结构体指针表示学生成绩

printf("名字:%s 成绩:%d\n",p->name, p->chengji);p = p -len;//此处不能用*p,*表示运算符取地址的意思.指针循环之后往回走到指针头。//此处的*表示标识符申明变量*/printf("请输入名字:\n");printf("请输入分数:\n");//for循环里要指针++;printf("请输入总人数\n");

2023-03-05 22:37:59 115

原创 结构体指针

printf("学号:%d 姓名:%s\n", p->xuehao, p->name);printf("学号:%d 姓名:%s\n", p->xuehao, p->name);printf("学号:%d 姓名:%s\n",d1.xuehao,d1.name);printf("地址:%p\n", p++);printf("结构体增加之后的地址是:%p\n",p);strcpy(p->name,"李四");

2023-03-05 21:53:17 41

原创 结构体求最大最小值

printf("最低分为:%d:%s\n", min.fengshu, min.name);printf("最高分为:%d:%s\n", max.fengshu,max.name);printf("第%d个学生的名字和分数是:\n", i + 1);printf("请输入第%d个学生的分数\n", i + 1);printf("请输入第%d个学生的名字\n",i+1);

2023-03-04 17:49:59 258

原创 结构体里的指针细节错误

/ strcpy(d2.p, "中国共产党万岁");此处使用野指针会出现段错误。strcpy(d1.p, "中国共产党万岁");strcpy(d2.p, "中国共产党万岁");

2023-03-04 12:00:19 43

原创 结构体二2

结构体的调用和普通调用的区别

2023-03-04 11:21:08 43

原创 if else语句的嵌套使用

printf("不嫁,没钱房子");printf("不嫁,没房子");printf("嫁");printf("请输入彩礼钱");

2023-03-02 22:32:07 83

原创 C结构体一

/行为:函数指针(自我介绍)printf("结构体: xuehao = %d\n", stu1.xuehao);printf("结构体: score = %d\n", stu1.fengshu);printf("结构体: xuehao = %d\n", test.xuehao);printf("结构体: name = %s\n", test.name);printf("结构体: name = %s\n",stu1.name);printf("结构体: = %d\n", test.fengshu);

2023-03-02 22:18:26 38

原创 自己封装实现字符串二

/字符串的结尾是'\0'return NULL;//字符串的结尾是'\0'//myStrncpy(dest, src,4);

2023-02-20 21:39:39 41

原创 自己封装实现字符串操作一

void myputs(char *p)//变量的声明形式参数char*p,字符串的特点结尾有'\0'.输出。void myMemset(char* p, char c, int size)//计数长度。printf("长度:%d\n", myStrlen(p));printf("你输入的字节数是:%d\n",n);int myStrlen(char* str)//初始化。myputs("请输入你的字符串:\n");int mygets(char *p)//输入。printf("内存非法");

2023-02-20 19:03:42 36

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除