自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构的基本概念

数据结构反映数据的内部构成,即数据由那部分构成,以什么方式构成,以及数据元素之间呈现的结构。顺序结构:将数据结构中各元素按照其逻辑顺序存放于存储器一片连续的存储空间中,如c语言的一维数组,表的L=(a1,a2......,an)的顺序结构。散列存储:根据数据元素的特殊字段(称为关键字key),计算数据元素的存放地址,然后数据元素按地址存放。索引存储:在存储数据的时,建立一个附加的索引表,即索引存储结构=数据文件+索引表。二、数据的存储结构(逻辑结构在计算机中的具体实现方法)图状结构--多个对多个,如图。

2024-07-25 14:50:27 177

原创 Linux C语言:C语言共用体和枚举

在C语言中,不同数据类型的数据可以使用共同的存储区域,这种数据构造类型称为共用体,简称共用,又称联合体。共用体在定义、说明和使用形式上与结构体相似。两者在本质上的不同仅在于使用你内存的方式上共用体的定义语法:union 共用体名共用体成员列表共用体的使用union 共用体名 变量名union 共用体名 变量名 = {成员值}定义共用体时顺便创建变量int age;char sex;char ch;

2024-07-24 15:37:45 868

原创 Linux C语言:结构体指针和结构体嵌套大小及位域

作用:通过指针访问结构体中的成员语法:struct 结构体名 *指针名;利用操作符->可以通过结构体指针访问结构体属性点(.)是用于访问成员,箭头(->)是用于结构体指针访问成员。访问结构成员的运算符有两种,一种是结构成员运算符“·”,也称为“圆点运算符”,另一种是结构指针运算符“->”,也称“箭头运算符”。圆点运算符是比较古老的写法,不能访问结构体指针变量成员,现在都推荐使用箭头运算符,即->

2024-07-24 15:18:49 350

原创 Linux C语言:C结构体及结构体数组

正式:结构体是由一批数据组合而成的结构型数据。组成结构型数据的每个数据称为结构型数据的“成员” ,其描述了一块内存区间的大小及解释意义。通俗:结构体属于用户自定义的数据类型,允许用户存储不同的数据类型语法:struct 结构体名结构体成员列表。

2024-07-24 15:13:53 234

原创 Linux NFS服务搭建及使用

nfs ( Network File System )即网络文件系统,其基于 UDP/IP使用 nfs 能够在不同计算机之间通过网络进行文件共享,能使使用者访问网络上其它计算机中的文件就像在访问自己的计算机一样。2)运行下面的命令,创建一个目录,并在该文件下创建一个文件,用于测试nfs。6)使用下面的命令,将共享目录挂在到/mnt目录下,并修文件。1) 运行下面的命令安装NFS服务器(需要保持网络通畅)。7)使用下面的命令,查看原来的文件已经被修改。5)使用下面的命令,重启NFS服务。

2024-07-19 23:24:53 389

原创 Linux TFTP服务搭建及使用

TFTP ( Trivial File Transfer Protocol )即简单文件传输协议是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。8)如果TFTP的下载不成功,运行下面的命令卸载软件(连同配置信息一起),然后再重新安装,最后再重启TFTP服务器。TFTP_DIRECTORY="/tftpboot" // 我们设定的 TFTP 根目录;TFTP_OPTIONS="-c -l -s" //TFTP 启动参数。

2024-07-18 22:41:49 913

原创 linux shell脚本编程(分支语句、循环语句)

bin/bash#学生成绩分级管理#80-100:A#60-79 :B#0-59:C#-o ||#-a &&thenexitfiecho "A ";;;*)echo"C ";;esacstatementsfunction 是 Shell 中的关键字,专门用来定义函数;name 是函数名;statements 是函数要执行的代码,也就是一组语句;

2024-07-18 16:58:09 898

原创 Linux: 软件源下载

离线sl下载。

2024-07-01 22:18:44 101

原创 Linux C语言:一维数组、字符数组和字符串数组打印总结

1、sizeof(数组名),表示计算整个数组大小;2、sizeof(&数组名),表示计算整个数组所占地址大小,而一旦是计算地址,只有两个值:4字节(32位操作系统),8字节(64位操作系统);3、除了这两种情况外,所有的数组名代表的都是首元素的地址!4、sizeof(字符串)时,将会把字符串后面自带的\0计算在内,而\0在内存中占一个字节;

2024-06-19 16:27:55 845

原创 shell脚本编程(概念、编程和语句)

变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的在 shell 编程中通常使用全大写变量,方便识别$ COUNT=1变量的调用:在变量前加 $Linux Shell/bash 从右向左赋值$Y=y$ X=$Y$ echo $Xy使用 unset 命令删除变量的赋值$ Z=hello$ echo $Zhello$ unset Z$ echo $Z双引号 : 允许通过 $ 符号引用其他变量值。

2024-06-18 17:06:59 1293

原创 shell命令(进程管理和用户管理)

用户名口令用户 ID ( UID )用户主目录( HOME )用户 shell语法: adduser 添加用户名为 newuser 的新用户。

2024-06-18 14:34:40 683

原创 shell命令(文件搜索、文件处理和压缩解压)

当然,之后出现 tar 程序的改进版本,可以实现在合并归档的同时进行压缩。使用“ ls –l” 命令可以查看到新创建的链接文件所指向的目标文件名。该运算符表示只要所给的条件中有一个满足 时,寻找条件就算满足 OPTIONS :描述命令所有的参数或选项。软链接(符号链接)是利用文件的路径名建立链接。硬链接是利用 Linux 中为每个文件分配的物理编号—— inode 建立链接。①and :逻辑与,在命令中用 -a 表示,是系统缺省的选项,表示只有当所给的条 件都满足时,寻找条件才算满足。

2024-06-18 14:04:33 1215

原创 shell命令(权限和输入输出)

随着各式 Linux 系统的图形化程度的不断提高,用户在桌面环境下,通过点击、拖拽等操作就可以完成大部分的工作。然而,许多 Ubuntu Linux 功能使用 shell 命令来实现,要比使用图形界面交互,完成的更快、更直接。英文单词 shell 可直译为“贝壳”。“贝壳”是动物作为外在保护的一种工具。可以这样认为, Linux 中的 shell 就是 Linux内核的一个外层保护工具,并负责完成用户与内核之间的交互。

2024-06-17 16:30:05 913

原创 Linux C语言:字符串处理函数

使用strncpy函数将src的前8个字符复制到dest中。由于源字符串的长度大于或等于n,我们需要在dest的后面添加'\0'。将给定的大写字母转换为对应的小写字母。如果给定的字符不是大写字母,则不对它做任何处理,也不会报错或者警告。如果传入的字符是大写字母,则返回该字母的小写形式;如果传入的字符不是大写字母,则原样返回该字符。1) 如果源字符串的长度大于或等于n,则目标字符串将不会以'\0'结尾,需要手动添加'\0'。2) 如果源字符串的长度小于n,则复制完源字符串后,会用'\0'填充剩余的空间。

2024-06-14 15:10:56 699

原创 Linux C语言:变量的作用域和生命周期(auto、register、static和extern)

3)auto说明的变量只能在某个程序范围内使用,通常在函数体内或函数中的复合语句里。(默认是随机值),不能时全局变量。如果一些变量使用频繁,为提高执行效率,允许将局部变量的值放在CPU中的寄存器中。变量在程序中使用时,必须预先说明它们的存储类型和数据类型。变量的值是存放在内存中的。

2024-06-13 17:09:15 899

原创 Linux C语言:#define和typedef

include是一个预处理指令,预处理这个动作发生在编译之前:#include 的作用是,在预处理时,将文件中的全部文本内容复制粘贴到#include所在的位置宏用 #define 声明,const 常量用 const + 数据类型 声明。宏最后没用分号,const 常量声明需要用分号表示语句结束。宏不需要用等号赋值,cosnt 常量需要用等号赋值。宏定义可以通过#undef来使之前的宏定义失效const常量定义后将在定义域内永久有效void f1()

2024-06-13 15:49:22 1136

原创 Linux C语言:指针函数、递归函数及用法

qsort()函数是C语言库函数中的一种排序算法,其用到的排序思想是快速排序(quicksort)。它的独特之处在于可以排序任意类型的数组元素(整形、浮点型、字符串和结构体类型)。

2024-06-13 15:02:38 534

原创 Linux C语言:函数的基本用法及传参

在程序运行过程中,将实际参数的值或者地址传递给被调用函数的形式参数,从而在函数中完成对数据处理和返回的过程。在C语言当中,参数的传递方式本质上只有一种,就是值传递。但为了更好区分理解,划分了三种方式。

2024-06-12 15:06:04 923

原创 Linux C语言:多级指针(void指针和const)

1)其中第0个参数是程序的全名,以后的参数为命令行后面跟的用户输入的参数。2)argv参数是字符串指针数组,其各元素值为命令行中各字符串的首地址。对于void指针,在没有强制类型转换之前,不能进行任何指针的算术运算。定义另一个指针变量pps,并且把指针数组的首地址赋予指针pps。3)指针数组的长度即为参数个数argc。有一个一维字符指针数组ps[5]

2024-06-12 14:24:45 995

原创 Linux C语言:字符指针与字符串

当一个字符指针指向一个字符串常量时,不能修改指针指向的对象的值。

2024-06-11 15:55:16 363

原创 Linux C语言:指针和二维数组

数据类型> (*)[表达式];方括号中的常量表达式表示指针加1,移动几个数据。1、二维数组名的理解。

2024-06-11 15:35:23 204

原创 Linux C语言:指针与数组

x[i] 、*(px+i)、*(x+i) 和px[i]具有完全相同的功能:访问数组第i+1个数组元素。

2024-06-11 15:20:52 397

原创 Linux C语言:指针的运算

1)C语言中除了8bit的char之外,还有16bit的short型,32bit的int型,对于位数大于 8位的处理器,必然存在如何将多个字节排序的问题。指针加上整数,指针减去整数, 指针递增,指针递减和两个指针相减。指针加减一个n的运算: px + n px - n。2)大小端指的是在存储器中,存放数据的字节顺序。移动步长是指针的目标。

2024-06-11 14:56:27 715

原创 Linux C语言:指针和指针变量

指针指向的位置是不可知的(随机的、不正确的、没有明确指向的)指向被释放的内存或者没有访问权限的内存的指针(非法访问)。

2024-06-07 15:52:19 985

原创 Linux C语言:字符数组和字符串

字符数组是元素的数据类型为字符类型的数组。

2024-06-07 14:55:53 222

原创 Linux C语言:数组的定义和初始化

只有一个下标的数组。它在计算机的内存中是连续存储的。C语言中,一维数组的说明一般形式如下:<数据类型 > <数组名>[元素数量]元素数量必须是整数一旦创建不能改变元素的数量int a[10];(1)定义方式:数据类型 数组名[行数][列数];→元素个数=行数*列数(2)数组元素的存放顺序二维数组:按行序优先。

2024-06-06 17:06:11 483

原创 Linux-vi编辑器命令使用

有可能会遇到打开一个文件,并定位到指定行的情况例如,知道某一行代码有错误,可以快速定位到出错代码的位置可以使用以下命令打开文件提示:如果只带上+ 而不指定行号,会直接定位到文件末尾实操:用gedit 改错一个程序,编译看到行号 vi +行号。

2024-06-06 10:59:36 1519

原创 Linux C语言:控制语句(if switch)

一个if语句由一个布尔表达式后跟一个或多个语句组成。如果布尔表达式为 true,则 if 语句内的代码块将被执行。如果布尔表达式为 false,则 if 语句结束后的第一组代码将被执行。

2024-06-05 16:02:05 497

原创 Linux C语言:输入输出(printf scanf)

格式: int getchar( void);返值:正常,返回读取的字符的ASCLL码值;用“%c”格式符时,空格和转义字符作为有效字符输入。格式: int putchar( int c )格式说明:%[修饰符]格式字符,用于指定输出格式。则yy为1999, mm为10, dd为15。目前,scanf支持的格式字符很多,如下,则a为1234, b为‘a’, c为123。printf(“格式控制串”,输出表)则c1为a, c2为空格, c3为b。功能:从键盘读一字符。scanf(“格式控制串”,地址表)

2024-06-05 13:58:15 823

原创 Linux C语言:运算符(下)

2、关系表达式的结果是bool类型,0(false),1(true),主要应用于条件判断语句和循环控制语句中。多个表达式可以用逗号分开,每个表达式的值分别运算,但整个表达式的值是最后一个表达式的值。如果条件表达式的值为假,整个表达式的值为表达式2的值。(3)对于关系运算符,可以将常量放左侧,变量放右侧,编译错误比执行错误更容易发现,危。如果条件表达式的值为真,整个表达式的值为表达式1的值。(表达式1, 表达式2,..., 表达式n)1、本质是比较运算,关系运算符组成的表达式,即为关系表达式。

2024-06-04 16:53:42 697

原创 Linux C语言:运算符(上)

将变量的值进行加1和减1的操作;自增和自减运算符都是一元运算符,只需要一个操作数;l可以作为前置运算符,也可以作为后置运算符前置: 运算符位于变量之前 ++i --i后置:运算符位于变量之后 i++ i-- 如果前置或后置作为一个单独的语句出现,并没有什么区别。

2024-06-04 16:07:13 1146

原创 Linux C语言: 数据类型

• /usr/include/limits.h文件中,有数据类型范围的定义# else# endifü关键字类型 变量名;int a;ü关键字类型 变量名1,变量名2, ...;int a, b;");

2024-06-03 17:34:25 1428

原创 Linux基本命令的使用(cp mv)

把cdemo文件夹下的extern_static开头的文件移动到了mydir文件夹下。mv 源文件 (夹)目标文件(夹) 也可以在移动的同时命名。使用条件:使用这个命令时必须保证源文件(夹)和目标文件(夹)在同一个路径下。把列出来的多个文件(夹)同时移动到目标文件夹下,文件(夹)之间以空格分隔。采用通配符将具有类似文件名或类型等的文件(夹)同时移动到目标文件夹下。1、如果目标文件已经存在或目标文件夹中含有同名文件,则复制之后。2、如果目标文件已经存在或目标文件夹中含有同名文件,则复制之后。

2024-05-31 17:29:33 399

原创 Linux基本命令的使用(mkdir rmdir rm)

• 方法二:[- p]选项 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。使用--recursive(-r 或-R)选项可删除每个给定的目录,-r, -R, --recursive 递归删除目录及其内容。-p,--parents 需要时创建目录的上层目录,若这些。-p,--parents 需要时创建目录的上层目录,若。交互模式删除文件或目录:rm -i file3.txt。• rm作用:删除文件或目录,它可以将一个或多个文。-i:交互模式,删除文件或目录前询问是否确认。

2024-05-31 16:14:19 379

原创 Linux基本命令的使用(ls cd touch)

通过一般应用程序或命令创建的文件,比如file.txt、file.tar,gz、test.c,这些文件虽然要用不同的程序或命令打开,但在linux中,都是常规文件,也称为普通文件。长短格式对照:[-a] == [--all] ,这里ls -a和ls --all的作用是等效的显示所有文件,包含以 . 开头的隐藏文件以及特殊目录。图中,对于一个存在的文件,使用了touch命令后,时间标签进行了更新,文件大。cd /home/linux/cdemo/⑦ -:普通文件,或者更准确的说,不属于其它几种类型的文件。

2024-05-31 15:06:30 875

原创 Linux命令行提示符

主机名:是当前系统的简写主机名,可以用hostname命令查看当前系统的主机名,当前系统的主机名是linux。比如,你现在在「东单地铁站」,那么故宫对你来说,就是坐一站地铁(天安门东站),出站,往前走500米,右拐。当你在「东单地铁站」时,故宫的相对路径就是:当前位置,坐一站地铁,出站,往前走500米,右拐。Ø ctrl + shift + n 在已经打开终端的基础上,新打开一个同路径的终端。当你在「天安门东站」时,故宫的相对路径就是:当前位置,出站,往前走500米,右拐。相对路径:相当于当前位置的路径。

2024-05-31 10:52:30 705

原创 STM32-嵌入式常见代码英文缩写

SysTick,在32单片机中,这是一个24位的系统节拍定时器system tick timer,SysTick,具有自动重载和溢出中断功能,所有基于Cortex_M3处理器的微控制器都可以由这个定时器获得一定的时间间隔。类似于Disable。clock gating 时钟门控;RCC,Reset and Clock Control,意思是复位和时钟控制器,它负责单片机的复位以及时钟的配置。Stress level,应力水平,应力水平是指实际所受应力与破坏强度的比值,是材料力学中的一种术语,了解即可。

2024-05-24 15:06:07 413

原创 学习笔记:C语言的32个关键字

8.signed //有符号9.unsigned //无符号10.struct //结构13.static //静态1.int //整数3.auto //自动11.union //联合2.long //长整型6.float //浮点7.short //短整型

2024-05-22 11:29:38 388

原创 c语言指针学习:交换变量值1

指针变量好比手术刀,能够获取地址信息,并通过`*`操作地址中的数值。- 不管指针变量带不带`*`, 它都是指针变量,包含了指定地址信息,而且可以通过`++`操作实现**连续地址空间的访问**,但是这样容易出现访问越界问题;你可以试一下上面第二份代码,在交换之后pt_x++,看看*pt_x输出的结果是2,不是8 - 区分好是 地址交换 还是 指针所指向的内容的交换。用*取地址中的值,交换指针地址中的值。*p : 所指向变量的。

2024-05-15 17:26:48 202

原创 学习心得:如何开始学习一款MCU

任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。对于指令系统,虽然形式上看似千差万别,但实际上只是符号的不同,其所代表的含义、所要完成的功能和寻址方式基本上是类似的。因此,对于任何一款MCU,主要应从如下的几个方面来理解和掌握:1、MCU的特点:要了解一款MCU,首先需要知道就是其ROM空间、RAM空间、IO口数量、定时器数量和定时方式、所提供的外围功能模块(Peripheral Circuit)、中断源、工作电压及功耗等等。

2024-05-10 11:29:26 812 1

基于stm32单片机的温度报警设计

基于stm32单片机的温度报警设计

2023-06-20

空空如也

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

TA关注的人

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