小歪崽~
码龄166天
求更新 关注
提问 私信
  • 博客:10,764
    10,764
    总访问量
  • 24
    原创
  • 3
    粉丝
  • 2
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
加入CSDN时间: 2026-01-13
博客简介:

2601_94965224的博客

查看详细资料
个人成就
  • 获得272次点赞
  • 内容获得0次评论
  • 获得145次收藏
  • 博客总排名64,602名
  • 原力等级
    原力等级
    3
    原力分
    233
    本月获得
    0
创作历程
  • 24篇
    2026年
成就勋章

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

「谁说嵌入式只是调包和焊板子?」—— 2026嵌入式全栈技术征锋令

谁说嵌入式只会“Ctrl+C 调包”和“拿电烙铁焊板子”?2026嵌入式全栈技术征锋令正式启幕! 本次活动专为硬核硬件/软件开发者打造,无论你是刚玩转裸机外设的萌新,还是精通RTOS调度、死磕底层驱动的行业老手,亦或是执掌系统架构的大神,这里都是你证明实力的舞台! 拒绝表面功夫,每一行代码,都有撬动硬件的力量!晒出你的硬核工程实战,为嵌入式开发者的全栈硬实力正名!

212人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

多任务编程——进程

1.fork之后,pcb各是各的,[堆|栈|bss|data|text]这些内容一样。pstree -sp pid号 //查看指定进程的进程关系。fork成功后,有两个进程存在,一个父进程一个子进程,各自分开执行。2.fork之后,父子进程的执行顺序并不确定,取决于操作系统调度。killall -信号 进程名称 //向同名进程发信号。返回值:成功在父进程中返回子进程的pid号,在子进程中返回0。进程的组成:PCB+[堆|栈|bss|data|text]正在进行中的程序,程序的依次执行过程。
原创
博文更新于 2026.03.01 ·
48 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Linux系统编程——文件编程(二)

功能:从fd中读取count个字节存储到buf。功能:将count个字节从buf中写到fd中。参数:@pathname 要打开的文件名。参数:@fd 要关闭的文件描述符。@count 表示一次读取的字符个数。@count 表示一次写入的字符个数。参数:@name 要打开的目录名。失败返-1&&errno会被设置。@buf 保存数据的一块空间。失败返回-1&&errno被设置。@buf 保存数据的一块空间。失败返回-1&&errno被设置。失败返回-1&&errno被设置。
原创
博文更新于 2026.02.27 ·
947 阅读 ·
21 点赞 ·
0 评论 ·
8 收藏

Linux系统编程(一)

功能:从stream中读取数据,最多读取size-1个字符,保存到s指定的一块空间。-regular 普通文件 eg:.c txt 图片,音频,视频。c character 字符设备文件 eg:鼠标,键盘。功能:从stream中一次读取一个字符数据,返回读到的字符数据。fwrite/fread //按对象读写(二进制读写)2.读写—fputc/fgetc //按字符读写。w 只写(若文件存在,截断为0,若不存在,则创造文件)a 追加(文件存在,则在末尾写,不存在则创建)
原创
博文更新于 2026.02.25 ·
821 阅读 ·
25 点赞 ·
0 评论 ·
9 收藏

数据结构双向链表

链表是逻辑结构连续物理结构(在内存中的表现形式)不连续。链表, 不需要预先分配,大小可变,动态。顺序表 需要预先分配空间,大小固定。顺序表是一段连续的存储单元。顺序表和链表 优缺点。查找 顺序表O(1)
原创
博文更新于 2026.02.09 ·
20 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构单向链表

为了表示每个数据元素,ai与其直接后继数据元素ai+1之间的逻辑关系,对ai来说,除了存储其本身的信息外,还需要存一个指示器直接后续的信息。把存储元素信息的域叫数据域,把存储直接后继位置的域叫指针域。线性表链式存储结构的特点是一组任意的存储单位存储线性表的数据元素,存储单元可以是连续的,也可以不连续。可以被存储在任意内存未被占用的位置上。使用make 命令后,会在当前目录下查找 Makefile 或(makefile) .并执行Makefile中的编译规则。动态存储,程序运行起来后,决定链表的容量。
原创
博文更新于 2026.02.08 ·
370 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

数据结构(一)

当线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,为空表。在非空的表中每个元素都有一个确定的位置,如果a1是第一个元素,那么an就是第n个元素.元素之间是有顺序了。如果存在多个元素,第一个元素无前驱,最有一个没有后继,其他的元素只有一个前驱和一个后继。零个或多个数据元素的有限序列。
原创
博文更新于 2026.02.06 ·
260 阅读 ·
8 点赞 ·
0 评论 ·
7 收藏

C语言构造数据类型

struct 类型名数据类型 成员变量名1;数据类型 成员变量名2;数据类型 成员变量名3;//花括号后要加分号int year;int mon;int day;int hour;int min;int sec;// 定义一个类型struct Stuint age;char sex;int score;int a;struct 结构体名 变量名;union 共用体名字数据类型 成员变量1;数据类型 成员变量2;数据类型 成员变量3;
原创
博文更新于 2026.02.03 ·
536 阅读 ·
14 点赞 ·
0 评论 ·
8 收藏

C语言指针(五)

应用:函数需要传递二维数组的时候,会使用数组指针。在被调函数中,数组的内容可读可写。1.数组指针,本质是一个指针。存储的是一个数组的地址,和二维数组搭配使用。//错误的,编译器不知道给a开辟多大的内存空间。sizeof(int [])=sizeof(int)*元素个数。void*作为函数参数时,可以接收任意类型的指针。int [3]-> int (*)[3] 数组指针。& ,int* -》 int** 二级指针。arg 是一个数组,里面存储了5个指针。void*,函数的返回值,函数的参数。
原创
博文更新于 2026.02.02 ·
367 阅读 ·
7 点赞 ·
0 评论 ·
5 收藏

C语言指针(四)

本质是一个指针,存储某一个函数的地址。函数名本质是一个指针,存储了一个地址,指向代码段中对数据操作的代码。1.函数调用的地址传递中,需要改变指针变量本身(二级指针),如果需要改变指针指向的内容(一级指针).应用:降低代码的耦合度。回调函数,会被别的函数调用的函数,区分函数设计者和函数的调用者。2.函数传递参数过程中,char**(二级指针)与char*[ ] 是兼容类型。定义:指向指针变量的指针,是二级指针。
原创
博文更新于 2026.02.02 ·
250 阅读 ·
8 点赞 ·
0 评论 ·
0 收藏

C语言指针(三)

函数的返回值为指针类型的函数,叫做指针函数。
原创
博文更新于 2026.01.30 ·
39 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C语言指针(二)

形参会接收到实参传递过来的地址,就可以在被调函数的内存,通过间接访问方式,通过修改形参,进而改变实参。int * 执行解引用操作,从指针存储的地址开始,往后(地址变大的方向)取 4个字节的数据。float* 执行解引用操作,从指针存储的地址开始,往后(地址变大的方向)取 4个字节的数据。double * 执行解引用操作,从指针存储的地址开始,往后(地址变大的方向)取 8个字节的数据。char * 执行解引用操作,从指针存储的地址开始,往后(地址变大的方向)取 1个字节的数据。
原创
博文更新于 2026.01.29 ·
698 阅读 ·
26 点赞 ·
0 评论 ·
4 收藏

C语言指针(重难点)

基类型* 指针名;int* p1;//不是解引用 int *char *p2;//float *
原创
博文更新于 2026.01.28 ·
665 阅读 ·
21 点赞 ·
0 评论 ·
4 收藏

C语言函数(三)

define 宏名 宏值大部分情况,宏定义放在文件开头。不要加分号。宏定义是代码替换,中间不进行任何的数据计算。宏定义的标识符一般都大写。在gcc预处理阶段,直接替换。
原创
博文更新于 2026.01.27 ·
1418 阅读 ·
46 点赞 ·
0 评论 ·
12 收藏

C语言函数(二)

在函数调用传参中,如果传递的是数组,这种传递方式就是地址传递。形参获得了实参对应内存空间的地址,所以就可通过形参修改实参。实参将值传递给形参,形参是一个副本(复制品)。1.实参的个数要与形参的个数相同。形参的值改变,都不会影响实参的值。
原创
博文更新于 2026.01.26 ·
412 阅读 ·
10 点赞 ·
0 评论 ·
3 收藏

字符串常用函数(补充)和C语言函数

定义语法返回类型 函数名称(数据类型 参数名1,数据类型 参数名2,数据类型 数据名3,…)参数列表return 表达式;返回值 类型(int,long,double,float,char,void(表示不返回任何数据)情况1,表示函数调用是否成功的状态 0(表示调用成功) 1(调用失败)情况2,计算的结果函数名,标识符,字母,数字,_,不能以数字开头,见名之意。参数,会与其他模块进行交互。如果没有参数,参数列表空着。如果有多个函数,使用逗号隔开。
原创
博文更新于 2026.01.24 ·
663 阅读 ·
7 点赞 ·
0 评论 ·
20 收藏

C语言字符串相关函数

char 数组名[行数][列数];行,列,必须是整形常量。
原创
博文更新于 2026.01.23 ·
239 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

C语言数组(二)

元素个数:整型常量,在C语言中字符串需要\0结尾,例如要存入“hello”,元素个数除了字符的个数(五个)外,还需要一个\0的空间,就是需要六个字节的空间。a是一个二维数组,a里面有3个元素,其中每个元素又是一个可以存储5个整型变量的一维数组。思想:1.每一次都会找一个最小值,把最小值储存在最前面对应位置。第一个元素的值给最后一个,第二个元素的值给代数第二个元素,依次进行交换。1.每一次都会找一个最大值,把最大值存储到最后面对应位置 外层循环。//a的类型 int [ ][ ]
原创
博文更新于 2026.01.23 ·
367 阅读 ·
6 点赞 ·
0 评论 ·
8 收藏

C语言(循环和数组)

元素的个数:常量,常量表达式 , 不能是变量,变量表达式(GNU gcc 是允许)跳转到某一个位置,可以往前跳转,或往后跳转。跳转的范围是在同一个函数中。把数组中的所有元素,依次有且只有一次访问(读写操作),一般配合循环使用。下标可以是常量,变量,表达式,但是在使用数据时,下标不能越界。数组元素在被访问时,下标从0开始,到元素个数-1。数组名:标识符,字母,数组,_ ,不能数字开头。数组不能整体使用(访问时不能整体输入和输出)。位置:就是 一个标号,标识 代码位置。数据类型:基础数据类型,不是void。
原创
博文更新于 2026.01.21 ·
480 阅读 ·
11 点赞 ·
0 评论 ·
6 收藏

C语言的分支和循环控制

表达式3)//表达式1,初始化(控制变量,也可以有其他的初始化) 表达式2,控制循环是否继续运行 表达式3,对控制变量进行增量控制。如果表达是1,2 为假,就判断表达式3 ,如果为真,执行语句块3. 语句块3 执行完,整个if 结束。如果表达是1 为假,就判断表达式2 ,如果为真,执行语句块2. 语句块2 执行完,整个if 结束。while(表达式) 表达式(关系,逻辑)的值,真,假,类型int。2.计算表达式2,是否为真,如果为真,运行循环体,为假,for循环结束。死循环 , 一直运行的循环。
原创
博文更新于 2026.01.21 ·
776 阅读 ·
25 点赞 ·
0 评论 ·
20 收藏

C语言流程控制

截断效应: 在逻辑表达式中,使用逻辑与(&&), 如果表达式左侧的式子,逻辑值为假。原因,右侧表达式的值为真或假,都不影响整个表达的值。左右表达式中,只要有要一个为真,真个表达式为真。如果第一个表达式为真,则整个表达式的值就为真。表达式,关系表达式,逻辑表达式。--》 表达式的结果是 真(1),假(0), 非0 即为真。3. if,或者else 后,都使用大括号,包含代码(空语句,一条语句,多条语句)。返回值,返回一个指向s的指针(内存地址,不是0 ),表示成功。如果是真,则整个表达式的值是 表达式2。
原创
博文更新于 2026.01.19 ·
442 阅读 ·
6 点赞 ·
0 评论 ·
9 收藏
加载更多