自定义博客皮肤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)
  • 收藏
  • 关注

原创 树莓派——交叉编译

交叉编译

2022-12-22 09:54:23 250 1

原创 树莓派——超声波

是在超声波发射装置发出超声波,它的根据是接收器接到超声波时的时间差,与雷达测距原理相似。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。

2022-12-20 16:48:19 221

原创 linux——线程

而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需的时间也远远小于进程间切换所需要的时间。据统计,总的说来,一个进程的开销大约是一个线程开销的30倍左右,当然,在具体的系统上,这个数据可能会有较大的区别。是线程间方便的通信机制。线程有自己的堆栈和局部变量,但线程没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。

2022-11-28 21:45:33 155

原创 linux——信号(signal)

比如,我在后台运行了一个 top 工具,通过 ps 命令可以查看他的 PID,通过 kill 9 来发送了一个终止进程的信号来结束了 top 进程。按照我们之前思路来看,可以发送的信号类型是多种多样的,每种信号的处理可能不一定相同,那么,我们肯定需要知道到底发生了什么信号。另外,虽然我们知道了系统发出来的是哪种信号,但是还有一点也很重要,就是系统产生了一个信号,是由谁来响应?来查看信号的名字以及序号,信号是从1开始编号的,不存在0号信号。了解了信号的概述,那么,信号是如何来使用呢?具体的信号名称可以使用。

2022-11-28 17:38:52 1015

原创 Linux——进程退出

子进程退出状态不被收集,变成僵死进程(僵尸进程),状态表示为z+。

2022-11-24 10:17:21 128

原创 linux——vfork创建进程

用vfork结果保证子进程先运行子进程调用exit()后子进程退出,父进程执行。

2022-11-23 09:57:17 162

原创 linux——进程的创建

父子进程

2022-11-22 15:06:14 43

原创 linux——文件操作(修改配置文件的数据)

【代码】linux——文件操作(修改配置文件的数据)

2022-11-21 20:05:56 246

原创 linux——文件光标移动(lseek)

SEEK_SET: 光标在文件的头位置。off_t offset : 偏移值。SEEK_END:光标文件的尾巴位置。SEEK_CUR:当前光标位置。

2022-11-21 18:36:49 522

原创 linux——读取文件(read)

将fd中的内容读取到buf中。

2022-11-21 16:07:01 3107

原创 Linux——文件写入(write)操作

const void *buf:一个无类型指针作为写入的缓冲区。size_t count : 写入文件的大小。将缓冲区里面内容写入(大小为count)到fd中。int fd:描述符。

2022-11-21 15:43:38 2545

原创 linux——文件编程(打开open及创建)

fd返回值为3代表打开文件成功,-1代表打开文件失败。3.执行 : x 1。1.可读 : r 4。2.可写 : w 2。0600代表:4+2即可读可写。

2022-11-21 15:15:15 1301

原创 链表——尾插法创建链表(代码)

{};{{=NULL){{}}}{{}= NULL){}}{{}int main(){:}

2022-11-21 10:42:52 538

原创 链表——动态头插法(代码)

{};{{=NULL){{}}}{{}{}}{{}}}int main(){}

2022-11-21 10:22:05 58

原创 c语言——初识结构体

printf("学号%d,年龄:%d,分数:%1f,名字:%s,地址:%s\n",stu2.num,stu2.age,stu2.score,stu2.name,stu2.addr);printf("学号%d,年龄:%d,分数:%1f,名字:%s,地址:%s\n",stu1.num,stu1.age,stu1.score,stu1.name,stu1.addr);struct Student stu2={2,"张三",'g',17,98.5,"北京"};//点运算符来访问结构体中的成员变量(域)。

2022-11-18 10:42:43 262

原创 c语言——字符串的比较函数(strcmp,strncmp),几种字符常见的API

功能是把 str1 和 str2 进行比较,最多比较前 n 个字节,若str1与str2的前n个字符相同,则返回0;若s1大于s2,则返回大于0的值;分解字符串 str 为一组字符串,delim 为分隔符,特别要注意分割处理后原字符串 str 会变,原字符串的改动是切分符原位置均更改为 '\0'。返回值:若str2是str1的子串,则返回str2在str1的首次出现的地址;如果str2不是str1的子串,则返回NULL;若str1=str2,则返回零;若str1

2022-11-18 10:08:25 866

原创 C语言——strcat(拼接)

函数原型: char *strcat(char *dest, const char *src);把src所指向的字符串(包括“\0”)复制到dest所指向的字符串后面(删除*dest原来末尾的“\0”)。要保证*dest足够长,以容纳被复制进来的*src。*src中原有的字符不变。返回指向dest的指针。int main(){ char str[128]="just now"; char *p ="handsome"; char *p2; p2=strcat(st

2022-11-17 20:30:58 164

原创 C语言——malloc动态开辟内存空间,strcpy(拷贝),free(释放内容),memset(清除空间)

/ 在p的基础上给扩容newlen的大小。printf("扩容地址:%x\n",p);//将前面p中扩容的12个字节内存,全部清0。//开辟内存给p有了具体的内存指向。//拷贝,将后面的内容拷贝到前面。

2022-11-17 19:48:45 450

原创 c语言——strlen和strlen的的区别

/p是一个char*,sizeof来计算的时候,得出计算机用多少字节来表示一个地址。//计算有效字符的大小。//计算整个数组的大小。

2022-11-17 18:56:20 191

原创 c语言——指针(总结)

指针

2022-11-17 15:56:33 132

原创 c语言——指针函数

printf("请输入你需要看的学生号数:0,1,2\n");指针函数(返回指针值的函数)//函数指针,返回指针的函数。

2022-11-17 15:16:27 107

原创 c语言——多维数组和指针

printf("arr[0]是子数组地址:%p,偏移1后是%p\n",*(arr+0),*(arr+0)+1);printf("arr[0]是子数组地址:%p,偏移1后是%p\n",arr[0],arr[0]+1);printf("arr是父亲地址: %p,偏移1后是%p\n",arr,arr+1);a表示父数组的地址,a[0],a*表示字数组的地址,同时a[0]也代表子数组名。a[0]+1第0行第一列的地址,是地址的意思 ==*(a+0)+1;而第0个子数组的第1个元素表示方式是a[0][1],不要乱。

2022-11-16 20:25:38 211

原创 c语言——指针和数组名的见怪不怪

/ 在操作系统中用8个字节表示一个地址(指针)printf("sizeof pointer is %d\n",sizeof(int*));// 在操作系统中用8个字节表示一个地址(指针)printf("sizeof arr is %d\n",sizeof(p));// 在操作系统中用8个字节表示一个地址(指针)printf("sizeof arr is %d\n",sizeof(arr));

2022-11-16 17:17:52 195

原创 c语言——指针初识

将地址内的值读出运算符。

2022-11-16 10:51:06 86

原创 C语言——外部变量和全局变量

/全局变量,写在所有函数之前的外部变量。

2022-11-16 10:02:56 502

原创 C语言——break和continue

printf("每个人的捐款平均数据:%f\n",(float)totalMoney/numOfPerson);} // 例如89不满足if循环则停止,进入90继续循环。// 若不满足if条件,则停止此次小循环,进入下一个小循环。printf("总捐款人数是:%d\n",numOfPerson);printf("每个人输入捐款的数目:\n");用continue提前结束本次循环。用break提前结束循环。

2022-11-15 09:34:30 621 1

空空如也

空空如也

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

TA关注的人

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