• 2024-11-20自定义类型结构体(中)
    目录结构体内存对齐对齐规则例子一练习3练习4-结构体嵌套问题为什么存在内存对齐平台原因(移植原因)性能原因修改默认对齐数感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接
  • 2024-11-19常见链表类型
    单向链表双向链表循环链表双向循环链表1.单向链表单向链表的每个节点只包含数据和指向下一个节点的指针。它只能从头到尾单向遍历。[数据|下一节点指针]->[数据|下一节点指针]->NULL 示例#include<stdio.h>#include<stdlib.h>structNode{intdata;st
  • 2024-11-19BUG: udp的"addrlen"由局部变量改为全局变量,udp的数据包就无法发送到目标地址。
    一.BUG描述项目上要用到LWIP的UDP协议传输数据,然后弄了一个了UDP的demo;跑通了之后就对这个demo重新封装。我把套接字长度变量(addrlen)由局部改为全局之后,服务器的UDP就只能接收,不能发送数据了。二.BUG原因点击查看代码/**sockfd:套接字文件描述符*buf:接收缓冲区*len:接收
  • 2024-11-19【Linux】进程的基本概念
    目录一、进程概念的推导二、描述进程(PCB)2.1task_struct2.2task_struct内容2.2.1task_struct内容分类2.2.2PID(进程ID)2.2.3PPID(父进程的进程ID)三、查看进程四、进程的创建4.1命令行直接启动进程4.2通过代码来创建进程4.2.1通过fork函数来创建进程4.2.2fork函数
  • 2024-11-18Linux 下网络套接字(Socket) 与udp和tcp 相关接口
    文章目录1.socket常见API2sockaddr结构体及其子类1.sockaddr结构体定义(基类)2.子类sockaddr_in结构体用于(IPv4)3子类sockaddr_un(Unix域套接字)4.总结画出其结构体3.实现一个简单的tcpEcho服务器和客户端(cpp)3.1客户端3.2服务器3.3测试结果1.socket常
  • 2024-11-18编程之路,从0开始:结构体详解
    目录前言正文1、结构体引入2、结构体的声明3、typedef4、结构体的匿名声明5、结构的自引用(1)链表(2)自引用6、结构体内存对齐(1)对齐规则(2)题目(3)为什么存在内存对齐?(4)默认对齐数7、结构体实现位段(1)什么是位段(2)位段的跨平台问题(3)位段的应用总结 前言     
  • 2024-11-18第八章 结构体
    C++开发语言基础学习8结构体8.1结构体的定义与使用定义结构体类型(创建模版):struct结构体名{结构体成员列表}structStudent{stringname;intage;intscore;}创建结构体变量(根据模板创建实体)三种方式:struct结构体名结构体变量名+各属性分
  • 2024-11-17介绍一下struct(c基础)
    struct是命名结构体的,可以看成集合。不同元素即是表达一个对象的不同方面属性。格式structstu(一种标识符){   //命名不可初始化[元素类型]元素名;   char元素1[n];   int元素2;   int元素3;__________   int元素n;};structstu{ //
  • 2024-11-16Linux:进程状态
    文章目录前言一、初识fork1.1fork函数的介绍1.2fork出的子进程存在形式1.3写时拷贝二、进程的状态2.1Linux内核源代码2.2理解内核链表(重要)2.3运行状态2.4阻塞状态2.5挂起状态三、Z(zombie)状态,僵尸进程四、孤儿进程总结前言本文将介绍如何利用系统调用
  • 2024-11-16传感器芯片lsm330 linux驱动
    /*kernel/drivers/input/sensors/accel/lsm330_gyro.cCopyright©2012-2016RockchipCo.,Ltd.ThissoftwareislicensedunderthetermsoftheGNUGeneralPublicLicenseversion2,aspublishedbytheFreeSoftwareFoundation,andmaybecopied,distributed,
  • 2024-11-16传感器芯片mpu6500 linux驱动
    /*drivers/input/sensors/access/mpu6880_gyro.c*Copyright©2012-2015ROCKCHIP.ThissoftwareislicensedunderthetermsoftheGNUGeneralPublicLicenseversion2,aspublishedbytheFreeSoftwareFoundation,andmaybecopied,distributed,andmodif
  • 2024-11-16C 语言struct 结构
    目录1.简介2.struct的复制3.struct指针4.struct的嵌套5.位字段6.弹性数组成员1.简介C语言内置的数据类型,除了最基本的几种原始类型,只有数组属于复合类型,可以同时包含多个值,但是只能包含相同类型的数据,实际使用中并不够用。实际使用中,主要有下面两种情况,需要更灵
  • 2024-11-15【数据结构副本篇】顺序表 链表OJ
  • 2024-11-1411.14
    设计文档:链表逆置模块问题描述本题要求实现一个函数,将给定的单向链表逆置,即表头置为表尾,表尾置为表头。给定链表的节点结构如下:cstructListNode{intdata;structListNode*next;};函数接口如下:cstructListNode*reverse(structListNode*head);其中,head是用户
  • 2024-11-14基于UDP的tftp传输服务的客户端
    效果图下载上传:代码:#include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<arpa/inet.h>#include<string.h>#include<unistd.h>#include<netinet/in.h>#include<stdlib.h>#include<
  • 2024-11-14第25天目录操作
    目录目录操作函数名:opendir()函数名:closedir()函数名:readdir()函数名:mkdir()函数名:rmdir()函数名:getcwd()---pwd函数名:chdir()---cd文件属性函数名:stat()函数名:lstat()函数名:fstat()stat\lstat\fstat的异同目录操作函数名:opendir()头文件:#include<sys/typ
  • 2024-11-13//结构体练习:定义一个结构体表示学生//学生属性有:姓名,年龄//要求:把三个学生信息放入到数组当中,并遍历数组
    //结构体练习:定义一个结构体表示学生//学生属性有:姓名,年龄//要求:把三个学生信息放入到数组当中,并遍历数组#include<stdio.h>structstudent{   charname[100];   intage;};intmain(){   structstudentstu1={"zhangsan",23};   structst
  • 2024-11-13关于我重生到21世纪学C语言这件事——操作符详解
    与诸君共进步!!!还有你,也要加油!文章目录1.操作符的分类2.⼆进制和进制转换3.原码、反码、补码4.移位操作符5.位操作符:&、|、^、~6.单⽬操作符7.逗号表达式8.下标访问[]、函数调⽤()9.结构成员访问操作符10.操作符的属性:优先级、结合性11.表达式求值1.操作
  • 2024-11-13SS241113C. 数据结构 (struct)
    SS241113C.数据结构(struct)题意有\(n\)个数,\(m\)个操作,\(n,m,a_i\le10^6\),每次操作给区间\([l,r]\)的所有数字加\(1\),然后输出全局颜色数量,操作独立。思路感觉不好想,对我来讲有点难,需要更聪明的脑袋和丰富的想象力。首先\(O(n\sqrt{n})\)的莫队做法是显然的,假设
  • 2024-11-13Linux:进程概念(下)
    文章目录前言一、冯诺依曼体系二、操作系统(OperatorSystem)2.1.操作系统的概念2.2系统调⽤和库函数概念三.进程3.1基本概念3.1.1描述进程3.1.2task_struct3.2查看进程3.2.1getpid3.2.2proc3.2.3getppid总结前言•课本概念:程序的⼀个执⾏实例,正在执
  • 2024-11-1211.12随笔
    这里是11.12随笔。作业留档:本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下:structListNode{intdata;structListNode*next;};函数接口定义:structListNode*reverse(structListNode*head);其中head是用户传入的链表的头指针
  • 2024-11-12单链表算法题(数据结构)
    1.反转链表https://leetcode.cn/problems/reverse-linked-list/description/题目:看到这个题目的时候我们怎么去想呢?如果我们反应快的话,应该可以想到我们可以从1遍历到5然后依次头插,但是其实我们还有更好的办法,就是利用三个指针,如何使用呢?反转链表OJ假如结构体已经给出t
  • 2024-11-12山田凉带你玩转OJ--判断链表是否有环并返回环的起始结点
    技术博客:判断链表是否有环并返回环的起始结点引言在链表操作中,判断链表是否存在环形结构是一个常见的问题。本文将详细介绍如何使用快慢指针法判断链表是否有环,并进一步找到环的起始结点。我们将分步骤讲解每一步的实现原理,并提供完整的代码实现。1.题目解读题目要求:
  • 2024-11-112024/11/11日工作总结
    完成数据结构pta实验题:6-3链表逆置:本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下:structListNode{intdata;structListNode*next;};函数接口定义:structListNode*reverse(structListNode*head);其中head是用户传入的链
  • 2024-11-11深入理解Linux内核中的虚拟文件系统(VFS)
    深入理解Linux内核中的虚拟文件系统(VFS)1.引言今天我们要探讨的是Linux内核中的虚拟文件系统(VFS)。VFS作为一层抽象,为各种不同的文件系统提供了一个统一的接口。无论是你常用的ext4,还是远程的NFS,都能通过VFS提供的相同接口进行交互。这期教程我会带你深入了解VFS的核心原理