自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 shell脚本

为类型是普通文本,d:目录,b:块设备(储存设备)c:字符设备,p:管道文件(用于共享一些文件)s:套接字。r(读)w(写)x(执行) 第一个为作者权限,第二个为组用户权限(有为r为1 , 无为-为0)``:将中间的字符串按照命令打印 (一般放命令)PATH:保存当前工作的默认路径(操作系统)echo '$a' (注意空格的输入)"":打印字符串,遇到$变量则打印变量中的值。'':打印字符串,遇到$变量依然打印$变量。$$:当前shell的PID。2.编写脚本(打印一般用echo)

2024-08-03 19:09:36 679

原创 共用体,位运算

除了可以用c提供的标准类型名和程序编写者自己声明的结构体,共用体,枚举类型外,还可以用typedef指定新的类型名来代替已有的类型名。按定义变量的方式,把变量名换上新的类型名,并且在最前面加typedef,就声明了新类型名代表原来的类型。注意:c语言编译时按定义时的顺序默认他们的值为0,故占四个字节与整型像兼容。枚举就是把可能的值一一列举出来,变量的值只限于列举出来的值的范围。什么是共用体:即共有一段内存空间,彼此之间相互覆盖。当空间内的成员不是同时作用时可节省空间。enum 【枚举名】【枚举元素列表】

2024-08-02 20:26:06 140

原创 结构体变量

链表是一种常见的重要的数据。链表有一个“头指针”变量,一般的head表示,它存放一个地址,该地址指向一个元素。可以看出,head指向第一个元素,第一个元素又指向第二个元素...直到最后一个元素,该元素不再指向其他元素,它称为“表尾”,它的地址部分放在一个“NULL”(表示“空地址”),链表到此结束。花括号内的是该结构体所包括的子项,称为结构体的成员。由于链表中各个元素的内存中的地址可以是不连续的,所以不能通过+i,来访问下一个地址。“成员列表”也称域表,每一个成员是结构体中的一个域。一.定义和使用结构体。

2024-08-01 22:56:58 222

原创 善于运用指针3

从二维数组的角度看,a代表二维数组首个元素的地址,现在首元素不是一个简单的整形数组二十由四个整型元素组成的一维数组,则a代表的是首元素的起始地址。在程序中定义一个函数,在编译时把函数的源代码换为可执行代码并分配一段内存空间。这段内存空间有一个起始地址,称函数的起始地址。3.用函数指针变量调用函数时,只需将(*p)代替函数名即可(p为指针变量),在(*p)之后括号中根据需要写实参。1.定义指向函数的指针变量,他只能指向在定义时指定的类型的函数。可以定义一个指向函数的指针变量,用来存放函数的起始地址如。

2024-07-31 20:25:39 307

原创 善于利用指针2

只读变量,无法通过该指针修改它所指向的变量,只能读不能选。清楚指针指向的变量能不能被修改,不能修改的内容加const。注意:指针的基类型为void,即不指向任何类型的数据,只提供一个纯地址。void *malloc 将空间开辟到堆区上,由于可能手动申请开辟失败,故使用前要进行判断。注意:由于最后销毁返回p,故p的值不能被修改,期间不可进行自加自减等运算。其作用是释放指针变量p所指向动态空间,使这部分空间能被其他变量使用。void *p 名万能指针,万能指针不能进行指针运算。五.void指针类型。

2024-07-30 21:14:14 115

原创 善于利用指针

间接访问:将变量的地址存放另一个变量中然后通过该变量的地址来找到其变量的·1地址从而访问变量的方式称为间接访问。如果指针变量p已经指向数组的一个元素,则p+1指向同一个数组的下一个元素,p-1指向同一个数组中的上一个元素。*(a + i)或者*(p + i)其中a是数组名,p是指向数组元素的指针变量,其初值p = a。p = &a[0] 和 p = a 等价,数组名即为数组的首元素地址。指针是一个地址,通过地址可以能找到所需要的变量单元。1.数组元素的指针就是数组元素的地址。为了在被调函数中修改主调函数。

2024-07-29 19:39:08 244

原创 局部变量和全局变量

在函数定义的变量都没有声明为auto,其实都隐含指定为自动变量。为了提高程序执行效率,允许将局部变量放在CPU中的寄存器中,需要时直接从寄存器取出参数参与运算,不必再转去内存中存取。4.在俩个或者俩个具有包含关系的不同作用域中定义同名标识符,外层标识符在内层不可见(就近原则)全局作用域,也称全局变量,在静态区(全局区),在花括号外的,若未初始化系统会自动清零。2.动态生存期:是在程序运行期间根据需要进行的动态的分配储存空间的方式。局部作用域,也称局部变量,在花括号中的,若未被定义则为随机数。

2024-07-28 22:10:31 221

原创 嵌入式技术学习第十二天

数组元素可以作为函数的实参,但是不能作为形参。在数组元素作为函数实参时,把实参的值传给形参,是值传递的方式。用数组元素作为实参时,向形参(数组名或者指针变量)传递的是数组首元素的地址。由于二数组是由若干个一维数组组成的,在内存中,数组是按行存放,故在定义二维数组时,必须指定列数,由于形参数组与实参类型相同,所以他们是由具有相同长度。可以用多维数组名作为函数的实参和形参,在调用时对形参数组定义可以指定每一维的大小,也可以省略第一维的大小说明。3.形参可以不指定大小,在定义数组时在数组后面跟一个空的方括号.

2024-07-27 09:03:51 162

原创 嵌入式学习第十天

无参函数可以带回或不带回函数值,但一般以不带回函数值的居多。声明部分包括对函数中用到的变量进行定义以及对要调用的函数进行声明,return(z)的作用是将z的值作为函数值返回带回主调函数。在调用有参函数时,在定义函数时的函数名后面的变量名称为“形式参数”,在主调函数中调用一个函数时,函数名后面中的参数称为“实际参数”,实际参数可以是常量,变量或者表达式。(3) C程序的执行是从main函数开始的,如是在main函数中调用其他函数,在调用后流程返回到 main 函数,在 main 函数中结束整个程序的运行。

2024-07-25 20:38:48 288

原创 嵌入式学习第九天

C语言将二维数组采用这样的定义,使得二维数组可以被看成一种特殊的一维数组,它的元素又是一个一维数组。(2)将所有数据写在一个花括号里,按数组元素中的排列顺序对各元素赋初始值。类型说明符 数组名 【常量表达式】【常量表达式】对各行第一列的元素赋值,其余元素自动为零。满足单一性,有序性,连续性。可以省略靠近变量名的元素 ,一.怎样定义和引用二维数组。(1)分行给二维数组赋值。数组名【行号】【列号】(3)可对部分元素赋值。二维数组一般的形式为。3.二维数组的初始化。二维数组字符串求极值。二维数组字符串的查找。

2024-07-24 20:04:20 108

原创 嵌入式学习第八天

如果定义字符数组时不进行初始化,则数组中各个元素的值是不可预料的。如果初值个数小于数组长度,则只将这些字符赋给数组中前面的那些元素,其余元素自动定为空字符即(‘\n’)。如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组的长度,系统会自动根据初值的个数确定数组的长度。c语言规定,以字符‘\n’,作为一个字符串结束的标志,把他前面的字符组成一个字符串。在用puts输出时将字符串结束的标志‘\0’转换为‘\n’即输出完字符串后换行。字符数组是进行文本的处理,其本质是储存字符串的容器。

2024-07-23 19:35:42 206

原创 嵌入式技术学习第七天

a = i 首先类型不匹配,其次并未指出改的是数组中的哪一个元素,而且数组的数组名代表数组首个元素的地址,常量不能作为赋值运算符的左值。计算数组中元素的个数 lnt len = sizeof(a) / sizeof(a【0】)数组的长度是数组中元素的个数 a【n】= {1}不能被初始化。O(n)复杂度 即算法进行次数最多的程序进行的次数的最高次项。给数组a排序,将数组a的数据装进数组b且保证数组b是有序的。2.有序性:下标小的元素总是放在下标大的元素的前面。3.连续性:数组在内存中的存放是连续的。

2024-07-23 08:30:07 155

原创 嵌入式技术学习第六天

三.do ... while 语句 while{};1.循环变量初始化 2.循环执行的条件 3.有使循环趋于结束的语句。2.结束循环时 i的值是初次结束循环条件为假时的值。二.while语句后面不加;1.for{} 后面不加;

2024-07-22 07:43:45 101

原创 嵌入式学习的第五天

逻辑运算 && || 中,为了提高代码的执行效率,特殊规定运算符前的逻辑可直接得出结果,后面的逻辑不执行,即表达式截断。在每行结束加break,如果在各个case子语句中没有break语句,将连续输出。switch语句中,switch(表达式)其值的类型是整型或与整型相兼容。if语句中,if(表达式)后不能加;尽量不要有空行或者空语句。case(常量),必须是常量而非变量。

2024-07-19 20:33:07 112

原创 嵌入式技术学习第四天

printf函数中,他只能看到四个字节,在输入高于四个字节时,可将l(长整型整数)加在格式符d,o,x,u前面。scanf 在传参的过程中,若参数没有被定义,则函数会将其默认为地址导致系统崩溃。pow (double x , double y)表示 x 的 y次方。%p viod *pointer(指针) 表示地址。

2024-07-18 19:26:54 95

原创 嵌入式技术学习第三天

对于/ 俩个实数相除的结果是双精度实数,俩个整数相除的结果是整数,对于编译器只能做类型的检查,即对于结果取舍方向是不固定的。在系统的存储上对于++i,开辟空间后直接执行程序,而--i,是开辟空间后先拷贝一份,后执行程序。i=10 (赋值,开辟内存空间后,改变内存空间的值)++i,--i 在使用i之前,先使i的值加(减)1 {效率高}以赋值符号为界=为界,=左边的就是左值,=右边的就是右值。int i=10 (初始化,开辟内存空间同时赋值)i++,i-- 在使用i之后,使i的值加(减)1。

2024-07-17 18:37:42 269

原创 嵌入式学习的二天

这三种表示方法都有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,且第一位是符号位。编辑系统为每一个float型变量分配四个字节,数值以规范化二进制指数形式存放在储存单元中。反码:将原码的第一位符号位不变,其它位依次按位取反就可以得到反码。符号位1bit 阶码8bit 尾数23bit。\t表示水平制表符,相当于按下tab键。字符变量是用类型符char定义符变量。补码:反码+1就得到补码。\r表示回到下一行的首位。一.整形变量的符号属性。二.原码,反码和补码。

2024-07-16 18:24:23 167

原创 嵌入式技术学习第一天

变量 代表一个有名字的,具有特定属性的一个储存单元。常量 在程序运行中不能改变被改变的量。rm 删除文件 -r删除文件夹。rom 只能读出无法写入信息。ls 查看当前目录下的内容。mkdir 创建文件夹。pwd 打印当前目录。touch 创建文件。./a.out 运行。ram 可以随时读写。

2024-07-16 17:47:04 73

空空如也

空空如也

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

TA关注的人

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