自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux相关指令

其中的-lpthread不是必须的,只有用到该库才输入加上。//该指令将demo.c生成的a.out文件命名为demo8。//将运行结果放到test.ret.txt文件中,没有就创建。1.查看手册 man 3 free。将该运行程序放到后台运行。③(gbd)r 运行。④(gbd)q 退出。

2024-07-25 13:33:06 47

原创 线程相关知识

3⃣️进程间通信比较麻烦,需要消息队列、共享信息等等通信方式,线程比较方便。4⃣️一个进程损坏不会影响其他进程,一个线程损坏,整个进程也不会执行。2⃣️进程有独立的地址空间,线程共享地址空间,所以进程比较昂贵。1⃣️进程是资源分配的最小单位,线程是程序执行的最小单位。条件:创建:销毁、触发、广播、等待。互斥锁:创建、销毁、加锁、解锁。线程:创建、退出、等待。

2024-07-24 12:56:33 41

原创 进程间通信IPC

套接字STREAMS。

2024-07-17 11:52:21 96

原创 僵尸进程和孤儿进程

僵尸进程:父进程没有收集子进程的退出状态。孤儿进程:父进程提前结束子进程状态。

2024-07-16 00:45:17 68

原创 进程正常退出和异常退出

不管哪种退出,最后都会执行内核中的同一代码。这段代码为相应进程关闭所有打开描述符,释放它所使用的存储器等。3.进程调用 _exit()或者,_Exit() ,属于系统调用。3.最后一个线程对取消(cancellation )请求做出响应。2.最后一个线程调用pthread_exit。2.当进程收到某些信号时,ctrl+c。2.进程调用exit(),标准库c。1.main函数调用return。1.进程最后一个线程返回。

2024-07-15 22:27:25 89

原创 Vfork和fork的区别

区别2:vfork 保证子进程先运行,当子进程调用exit退出后,父进程才执行。区别1:vfork 直接使用父进程存储空间,不拷贝。

2024-07-15 22:07:24 78

原创 c程序的存储空间如何分配

栈:存储自动变量及每次函数调用时所需保存的信息。堆:使用malloc 等进行动态存储分配。命令行参数和环境变量。

2024-07-15 11:44:24 92 1

原创 Linux如何查看进程

ps-aux|grep init: 查找有关init 关键字的代码。类似于windows 任务管理器。查看cpu内存使用情况。ps-aux:大范围。

2024-07-15 11:13:29 197

原创 C51预处理命令中,#include和#define各表示什么含义?

include是文件包含的意思,将程序中用到的库函数、宏定义等,包含到工程中,后续程序可以直接使用这些函数和定义。#define宏定义的意思,编译的时候,遇到这个宏就展开,即用这个宏定义后面的字符串,替换这个宏。这两个都是编译预处理命令。

2024-05-16 09:51:21 424

原创 链表相关知识

数组:元素地址连续 缺点:增删改查不方便。一种数据结构,数据结构就是数据存放的思想。链表中的每一项都是一个结构体。统计链表节点个数及链表查找。②链表静态添加和动态遍历。

2024-04-29 21:33:51 193 1

原创 结构体相关知识

通过结构体变量地址来访问该结构体需要一个变量来保持这个地址:这和之前说的指针,其实是一样的,只是指针类型是结构体。printf(“t1的idata=%d\n”,ps->idata);//指针访问,用->运算符。pintf(“t1的idata=%d\n”,t1.data);类比数组,数组是元素类型一样的数据集合,如果是元素类型不同的数据集合,就要用到结构体。它算一个模板,一般不给赋具体的值,每一项在实际应用中并不是都要使用。变量访问有两种方式:1、变量名 2、地址。之前的案例是用变量名访问的。

2024-04-23 21:33:56 160

原创 字符串相关知识

2)realloc 函数原型 void *realloc(void *ptr,size_t size)—扩容—C库函数 void *realloc(void *ptr,size_t size)尝试重新调整之前调用malloc 或calloc所分配的ptr所指向的内存块的大小。strcpy strcmp strcat strstr 等需要用到’\0’,因此推荐字符串形式,或在数组加个’\0’,cdata[6]={‘h’,’e’,’l’,’l’,’o’,’\0’}//5,5 计算有效字符,不计算’\0’

2024-04-18 21:27:33 887 1

原创 二维数组和指针相关知识

2.a[0]、a[1]、a[2]既是一维数组名,而C语言规定了数组名就是首地址,因此a[0]代表一维数组a[0]中第0列元素的地址,即&a[0][0],也就是a[1]的值是&a[1][0],a[2]的值是&a[2][0]。(a+1)等价,a[i]和*(a+i)等价,因此,a[0]+1和 *(a+0)+1 都是&a[0][1]的地址。a[0]+1偏移多少?a[0][0]☞a[0][1]a[0][0]☞a[1][0]子数组:a[0]/a[1]/a[2],地址。(a+0) 等价,a[1]和。

2024-04-04 22:57:17 160 1

原创 指针相关知识

两种方法效率对比:系统在使用数组下标对数组成员变量进行访问时,开销比较大,指针的访问效率远远大于数组名的访问效率。//操作系统OS,用8个字节表示一个地址,不管什么类型,指针就是8。是一个标识符,告诉系统我是一个指针变量,是用来存放别人地址的,和下方的运算符不同。//p的值是数组a首元素(即a[0])的地址。printf(“第%d个数据为%d”,i,*parr);printf(“第%d个数据为%d”,i,*parr);(“指针变量的方式访问a:%d\n”,*p)(“地址访问a:%d\n”,*(&a))

2024-04-04 17:23:44 426 1

原创 函数相关知识

printArr:8 //形参中不存在数组的概念,即便括号约定了数组的大小,也无效。传递是一个地址,是数组的首地址,在OS中用8个字节来表示一个地址。printf(“printArr: arry的大小是:%d\n”,sizeof(arry))printf(“main : arry的大小是:%d\n”,sizeof(arry));&arry[0] // 第一个元素的地址也是数组的首地址。arry // 数组名代表整个数组的首地址。

2024-03-27 21:11:22 184

原创 数组相关知识

注意:可以不写行,但是一定要写列。

2024-03-27 14:00:34 90

原创 CMD相关指令

编译.c代码 gcc test.c。查看文件夹 cd 代码。终止代码 ctrl c。回到上一级 cd …运行代码 a.exe。

2024-02-08 17:36:24 343

原创 冒泡排序法VS简单选择排序法

2、冒泡排序法(从大到小、从小到大)

2024-02-08 16:51:28 376

原创 C语言流程控制

6.break (中止执行switch或循环语句)8.return (从函数返回语句)7.switch (多分支选择语句)while/else…5.continue (结束本次循环语句)while() (循环语句)3.while()…

2024-02-08 15:14:16 340

原创 输入输出的方式

2、scanf扫描键盘。1、printf打印。

2024-02-08 00:20:00 302

原创 scanf相关知识

2、在“格式控制字符串”中除了格式声明以外还有其他字符,则在输入数据时在对应位置上输入与这些字符相同的字符,scanf里面最好不要加逗号空格等。4、在输入数值数据时,如输入空格、回车、Tab键或遇非法字符(不属于数值的字符),认为该数据结束。1、“格式控制”后面应当是变量地址,而不是变量名。3、建议分开写,三个变量三个scanf。

2024-02-08 00:03:41 298

原创 printf相关知识

f:小数(指定位数 %m.nf,输出的数据占m列,其中包括2位小数,对其最后一位四舍五入,若n指定为0则小数及小数点均不输出)— %-m.nf,输出的数据向左对齐。p:一般打印内存地址,也是16进制格式输出—输出地址,取变量地址的运算符号&1、格式声明(“年龄:%d %d\n”):原样输出+%占位符/格式字符。printf(“年龄:%d %d\n”,a,b)2、输出列表(a,b):数据类型/表达式。c:单个字符—输出一个字母。3、%占位符/格式字符。x:以16进制格式输出。

2024-02-07 16:09:30 339 1

原创 变量相关知识

3、驼峰命名法 secondsPerYear/SecondsPerYear/ second_Per_Year。字符型-ASCII码-1个字节-8bit-2^8种表示。浮点类型-小数-4个字节-32位-2^32种表示。2、变量名由字母数字下划线组成,且数字不能开头。整数型-4个字节-32位-2^32种表示。

2024-02-06 15:40:32 352

原创 CMD如何解决中文乱码

3.按下回车键,会显示如下图所示的一条信息。“936”代表的意思就是 GBK (汉字内码扩展规范),通常情况下GBK是cmd的默认编码。5.按下回车键后,控制台的编码方式就会更改为utf-8了,也可以打开属性栏查看检验。只有选中了这一项,才能在下一次打开cmd时,保持编码方式为utf-8(65001).4.在命令行输入 “chcp 65001” //65001代表编码格式为utf-8。打开“属性”>>“选项”,勾选“丢弃旧的副本”这一项。notepad++更改设置。2.在命令行输入 chcp。

2024-02-06 13:41:29 797

原创 STM32F103ZET6——oled显示中文

1.main.c2.oled.c3.oled.h

2021-04-15 17:22:46 1418

原创 STM32相关知识——u8是什么意思?

标题

2021-04-15 10:21:28 12379

空空如也

空空如也

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

TA关注的人

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