天雨~流芳
码龄5年
求更新 关注
提问 私信
  • 博客:82,043
    社区:6
    82,049
    总访问量
  • 44
    原创
  • 330
    粉丝
  • 146
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2021-12-10

个人简介:目前学习嵌入式C/C++

博客简介:

zyt520919的博客

查看详细资料
个人成就
  • 获得272次点赞
  • 内容获得70次评论
  • 获得265次收藏
  • 代码片获得1,926次分享
  • 博客总排名1,812,682名
创作历程
  • 7篇
    2024年
  • 21篇
    2022年
  • 16篇
    2021年
成就勋章

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 5

TA参与的活动 0

兴趣领域 设置
  • 人工智能
    人工智能
  • 嵌入式
    物联网嵌入式硬件
创作活动更多

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

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

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

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

父子进程资源问题+vfork

父子进程在内存资源使用上既共享又独立。它们通过写时复制技术实现地址空间的共享,但在修改数据时各自维护独立副本。代码段共享以节省内存,同时继承并打开的文件描述符等系统资源需注意同步和互斥问题。这种特殊的资源使用方式使得父子进程管理更加灵活高效。1、父进程在fork()时,会将父进程的空间拷贝一份给子进程。2、父进程与子进程 拥有独立的内存空间,互不影响。
原创
博文更新于 2024.08.24 ·
894 阅读 ·
19 点赞 ·
0 评论 ·
6 收藏

exec函数簇

在C语言中,main函数是程序执行的入口点。main函数可以接受参数,这些参数通常用于从命令行接收输入。main这里,argc和argv是mainargc:这是一个整数,表示命令行中传递给程序的参数数量。至少为1,因为第一个参数(argv[0])始终是程序的名称或路径。argv:这是一个指向字符指针数组的指针,也可以看作是一个字符串数组。每个字符串代表一个命令行参数。argv[0]是程序的名称或路径,argv[1]是第一个参数,依此类推,直到,它表示最后一个参数。数组以NULL。
原创
博文更新于 2024.08.24 ·
1231 阅读 ·
26 点赞 ·
0 评论 ·
26 收藏

系统编程—进程

进程结束时,就从运行态变成僵尸态,所谓僵尸态,就是代表这个进程所占用的CPU资源和自身的任务结构体没有被释放,这个状态的进程就是僵尸态进程。1)进程在暂停态时,收到继续的信号时,是切换到就绪态,而不是运行态。2)程序的main函数执行return 0就会导致进程的退出,一定会变成僵尸态。3)进程不可以没有父进程,也不能同时拥有两个父进程。4)孤儿进程特征就是失去父进程时,会马上寻找继父,而不是等到孤儿进程变成僵尸态再找。5)祖先进程一定要帮其他的进程回收资源。
原创
博文更新于 2024.08.24 ·
1014 阅读 ·
36 点赞 ·
0 评论 ·
29 收藏

C语言数组进阶探索

arr+1 代表2的地址,此时*(arr+1)代表解引用,由于 arr+1 在数组中已经是最小的地址范围了,不能再缩小了,所以直接取地址里面的数据,也就是说*(arr+1)就是获取到数据2。符号,如果后面跟的是变量,代表获取该变量所在内存空间的地址(int a;&a),如果后面跟的是数组的名字(int arr[5];// &arr[i] == arr+i 是读取arr[i]这个元素的 起始地址。// *(&arr[i]) == *(arr+1) 是从这个地址读取元素的值。// 此时arr代表整个数组。
原创
博文更新于 2024.07.19 ·
628 阅读 ·
8 点赞 ·
1 评论 ·
4 收藏

字符数组的魅力:C语言字符数组与字符串编程实践

/相当于 char ch2[] = "china";元素个数为6,默认会在后面加一个'\0'这两者有何区别呢?
原创
博文更新于 2024.07.18 ·
562 阅读 ·
6 点赞 ·
1 评论 ·
10 收藏

C语言数组入门新纪元:初学者的必备指南

赋值的时候,成员之间使用逗号隔开;赋值的成员的数据类型要与数组定义的数据类型一致初始化列表的时候,初始化的数据 个数小于或者等于长度例如://语法正确,如果对全部数组元素赋初值,那可以不指定数组长度如果是定义的时候初始化,但是初始化列表个数小于数组的大小,那么无论这个数组是全局变量还是局部变量,没有赋值的成员都是为0注意:int arr[3] = {100,200,300,400};//错误,越界访问没有申请到的空间//表示给arr数组中第0个元素赋值为0,后面所有元素都会默认为0。
原创
博文更新于 2024.07.17 ·
694 阅读 ·
14 点赞 ·
0 评论 ·
4 收藏

整数在内存中的存储

主要分享整数在内存中的存储
原创
博文更新于 2024.07.05 ·
831 阅读 ·
28 点赞 ·
0 评论 ·
5 收藏

C语言线性表—顺序表

C语言实现简易的顺序表。
原创
博文更新于 2022.09.23 ·
902 阅读 ·
9 点赞 ·
6 评论 ·
5 收藏

C语言实现简易通讯录

文章目录 前言 一、通讯录的总体思路。 1. 二、使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 ...
原创
博文更新于 2022.04.23 ·
5874 阅读 ·
29 点赞 ·
28 评论 ·
36 收藏

常见的动态内存错误

常见的动态内存错误 前言 C语言提供了动态内存开辟的函数,例如:malloc,calloc,relloc等,在我们使用函数的过程中往往会写出许多错误与bug,下面我就来介绍我们常见的动态内存错误。 一、对NULL指针的解引用操作 这里malloc开辟空间过大,返回空指针,由指针p接收,且下面没有判空。 C语言中,如果一个指针变量的值为NULL,解引用这个指针时,会导致程序崩溃。 二、对动态开辟空间的越界访问 很明显malloc开辟了10个字节的空间,这里i=10时,*(p+i)越界访问,一旦内.
原创
博文更新于 2022.04.18 ·
1199 阅读 ·
18 点赞 ·
16 评论 ·
6 收藏

C语言实现抽签小功能

C语言实现简单的抽签函数
原创
博文更新于 2022.04.06 ·
5188 阅读 ·
9 点赞 ·
5 评论 ·
31 收藏

C语言打印杨辉三角

#include <stdio.h> #include <Windows.h> // 1 // 1 1 // 1 2 1 // 1 3 3 1 //1 4 6 4 1 int main() { int arr[100][100] = { 1 }; int num = 0; printf("请输入杨辉三角的层数:->"); scanf("%d", &num); int i = 0, j = 0, k = 0; for (i = 1; i &...
原创
博文更新于 2022.03.24 ·
1389 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

查找两个数储存在二进制中相同的个数

#include <stdio.h> int main() { int a = 0, b = 0; scanf("%d%d", &a, &b);//输入两数 int c = a ^ b;//运用按位运算符按位异或进行运算,相同为零不同为一 int count = 0;//计数 for(int i=0;i<32;i++) { if ((c >> i) & 1 == 1)//判断a^b中不同的条件 count++;//计数 ...
原创
博文更新于 2022.03.19 ·
369 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

C语言数组排序——冒泡法

#include <stdio.h> void sort(int arr[], int sz) { int i = 0,j=0; for (i = 0; i < sz - 1; i++) { for (j = 0; j < sz-1 - i; j++) { if (arr[j] > arr[j + 1]) { int tmp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = tmp; .
原创
博文更新于 2022.03.18 ·
571 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C语言打印菱形

思路: 仔细观察图形,可以发现,此图形中是由空格和*按照不同个数的输出组成的。 上三角:先输出空格,后输出*,每行中 空格:从上往下,一行减少一个 *:2*i+1的方式递增 下三角:先输出空格,后输出*,每行中 空格:从上往下,每行多一个空格 *: 从上往下,按照2*(line-1-i)-1的方式减少,其中:line表示总共有多少行 按照上述方式,将上三角和下三角中的空格和*分别输出即可。 #define _CRT_SECURE_NO_WARNINGS #include <...
原创
博文更新于 2022.03.16 ·
214 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

递归求阶乘

在不考虑栈溢出的情况下用递归的方式实现整数n的阶乘: #include <stdio.h> int factorial(int n) { if (n > 1) { return n * factorial(n - 1); } if(n=1) return 1; } int main() { int i = 0,n=0,sum=1; printf("请输入一位整数:"); scanf("%d", &n); for (i = 1; i<=n ; i.
原创
博文更新于 2022.03.12 ·
163 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

大小写转换

#include <stdio.h> int main() { int ch; while ((ch = getchar()) != EOF) { getchar(); putchar(ch + 32); printf("
"); } return 0; }
原创
博文更新于 2022.03.11 ·
144 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

递归方式实现打印一个整数的每一位

#include <stdio.h> void print(int n) { if (n>9) { print(n / 10); } printf("%d ", n % 10); } int main() { int a = 0; printf("请输入一位整数:"); scanf("%d", &a); print(a); return 0; }
原创
博文更新于 2022.03.10 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

strlen的实现

递归和非递归分别实现strlen #include <stdio.h> int my_strlen1(char* arr) { int c = 0; while ('\0' != *arr) { c++; arr++; } return c; } int my_strlen2(char* arr) { if ('\0' == *arr) return 0; else return 1 + my_strlen2(arr+1); } int main() { c
原创
博文更新于 2022.03.06 ·
161 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

乘法口诀表

实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,如:输入9,输出9 * 9口诀表,输出12,输出12 * 12的乘法口诀表。 #include <stdio.h> void list(int n) { int i=0,a=0,b=0; for (a = 1; a <= n; a++) { for (b = 1; b <= a; b++) { i = a * b; printf("%d*%d=%3d ", a, b, i); if (b
原创
博文更新于 2022.03.05 ·
619 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多