自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++---template <typename T>

摘自https://www.cnblogs.com/cs1003/archive/2012/08/22/2651175.html这个东西可以理解成一个模板,根据你所需要的类型就行匹配比如求最小值,要int,double,char,那么你就 要写三个函数int sum(int, int);float sum(float, float);double sum(double, double);但是用这个模板就只用写一个函数了#include<iostream>#inc

2020-09-19 20:43:11 183

原创 使用联合体判断大小端模式

1)联合体的概念和特征:union维护足够的空间来存放多个数据成员中的“一种”,而不为每一个数据成员都配置空间,在union中所有的成员共用同一个空间,同一时间只存储一个数据成员,最大的特征就是所有的数据成员具有相同的起始地址即联合体的基地址。2)计算机中字节存储主要有两种:大端模式(Big_endian)和小端模式(Little_endian),从英文名字上可以明白,大端模式是从低地址开始,高位结束,(即高地址存地位,低地址存高位);小端模式是从高地址开始,低地址结束(与大端相反,)。3)利...

2020-09-13 10:59:16 1846

原创 排序之交换排序01冒泡排序以及改进

交换排序之冒泡排序时间复杂度:最好情况: 最坏情况: 平均情况:空间复杂度:稳定性

2020-09-08 16:08:54 206

原创 排序之插入排序03希尔排序

前面的直接插入排序和折半插入排序在基本有序的时候,效率最高,在待排序的记录比较少的时候效率较高.个人觉得希尔排序刚好针对上面俩个问题,通过大间隔排序使整体基本有序,从而使得排序效率变高了之前的插入排序可以分为通过比较寻找插入位置,通过将插入位置后的元素后移,然后将元素插入有序序列中,但是每次只能移动一次,a[j+1] = a[j],希尔排序和前面俩种插入排序不一样的是比较一次会移动一大步(len)基本思想:先将整个待排序的序列分割成若干个子序列,分别进行直接插入排序(间隔不为1 ),每...

2020-09-08 10:07:43 105

原创 排序之插入排序02二分法插入排序/折半插入排序

查找插入位置j时可以和之前一个一个找不同,采用二分法来查找插入的位置。对于有序的序列,不从后往前比较,用中间位置mid=(low+high)/2的值和tmp比较。找到后,依次将数往后移动,再将取的数据a[i]插入其中比如将元素a[i]插入前面,由于从Low到high位置的元素是有序的,于是先于mid=(low+high)/2位置处的数据和a[i]比较,如果a[i]比a[mid]处的数据小,则需要进入左边折半查找,如果比a[mid]处的数据大则需要进入mid右边折半查找。直到low==high

2020-09-07 20:34:31 267

原创 排序之插入排序01直接插入排序

参考B站视频https://www.bilibili.com/read/cv3285768CSDN大佬博客 https://blog.csdn.net/morewindows/category_859207.html个人理解插入排序的思想类似于扑克牌摸牌,插牌(比较大小,定位),摸牌(取数):每一步将一个待排序的对象,按照其关键字的大小,插入到前面排好顺序的适当位置,直到对象全部插入为止。所以其基本需要俩个操作,定位置 ,插入。插入排序通过定位的方法不同分为下面几种排序:顺序法定位插入位

2020-09-06 17:08:47 249

原创 0827练习

1.continue以下程序的运行结果是()。main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}答案: 12457810continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为仅结束本次循环。所以该程序的意思为n为3的倍数时,就不执行printf语句,进行下一次for循环判定,否则执行,故输出为124578102.优先级,

2020-08-27 20:09:32 296

原创 0826数组指针输出

#include<stdio.h>int main(){ int a[5] = {1, 2, 3, 4, 5 }; int *ptr = (int *)(&a + 1); printf("%p\n%p\n%p\n", a, (&a),(&a+1)); printf("%d\n%d\n", *(a+1), *(ptr-1));}其中*(a+1)输出为a[1] 为 2而 *(ptr-1)输出为a[4]为 5输出a, &a,&a+.

2020-08-26 21:11:05 216

原创 线性表的链式存储结构

线性表的链式存储结构0_动态内存分配 先看俩个例子: char t[10] = “hi”;à可变à内存动态存储区域à数组在定义的时候在动态内存声明了相应的长度的区域,其大小取决于数组的长度,这样的”hi”是和下面不一样的è {“hi”} à {‘h’,’i’,’\0’} char *p = “hi”; à变量不可变à内存静态存储区域à”hi”是字面量是常量,不能通过”hi”=”go”来修改;指针p指向的是一个静态内存,里面的数据不能动态更改,如果指向数组则...

2020-05-15 21:05:42 1585 1

原创 题目_C_结构体内存对齐

问题:求出32bit环境下,以下机构体所占字节数答案:16字节分析: 运行测试: 在分析这个问题之前,我们先记住关于结构体内存对齐的三条原则:1_结构体变量的起始地址能够被其最宽的成员大小整除。2_结构体每个成员相对于起始地址的偏移能够被其自身大小整除,如果不能则在前一个成员后面补充字节。3_结构体总体大小能够被...

2020-04-28 10:43:26 318

原创 嵌入式学习笔记_根文件系统

1_根文件系统 Uboot的最终目的是启动内核; 内核的作用是启动应用程序; 而应用程序是在根文件系统上的(挂载),构造一个简单的Linux系统,根文件系统是需要了解的.1.1_从内核源码分析 从内核如何启动第一个应用程序可以简单了解需要构造什么.内核挂接好根文件系统后,执行应用程序是在init_post里面,在init main.c中查看这个函数:1)_首先打开...

2020-04-26 14:21:35 290

原创 嵌入式学习笔记_uboot

1_Linux启动方式比较 一上电 Pc Linux/嵌入式系统 Bios硬盘读入内核 Boot loader(最终目的是启动内核,有很多种,我用的是uboot)从flash读出内核,放到sdram中 引导操作系统Windows 引导内核 识别...

2020-04-26 14:17:39 183

原创 嵌入式学习笔记之存储_1_存储控制器&SDRAM举例

内存接口和gpio接口以及uart类型的接口不同,内存类接口是一类比较特殊的接口类型;S3c2440是一个片上系统,除了CPU里面还有各种控制器:gpio控制器:控制相应的寄存器, 让引脚输出高低电平,类似于门电路串口控制器(接有TXD,RXD引脚); 让若干引脚输出波形,相对复杂,属于协议类接口,类似的还有iic,iis,spi等内存控制器:控制其他寄存器,上面的接口都...

2020-04-09 15:47:28 621

原创 嵌入式学习笔记之2440时钟

2440是system on chip(SOC),芯片上除了CPU还会有其他外设:现在介绍他的时钟: 下面是他的是时钟发生器的框图: 时钟控制逻辑给整个芯片提供三种时钟 FCLK: 用于cpu核 HCLK: 用于AHB总线上的设备,比如cpu核,存储控制器,中断控制器,lcd控制器,dma和usb主机模块等...

2020-03-29 16:58:58 210

原创 嵌入式学习笔记之位序

字节序假设 int a = 0x1234567816进制一个位是4bit,在内存中,8bit = 1byte;也就是16进制中的俩位是一个byte其中0x78是低位, 0x12是高位 存储方式如下: 一般的 arm 芯片都是小字节序,对于 2440 可以设置某个寄存器,让整个系统使用大字节序或小字节序,它默认使用小字节序。位操作...

2020-03-26 11:09:17 436

原创 嵌入式学习笔记之GPIO_点亮一个LED

目录点亮LED:如何点亮一个LED:LED驱动方式:2440启动流程和GPIO操作:启动流程介绍:Nor启动:Nand 启动:GPIO接口介绍:GPxCON寄存器GPxDAT寄存器GPxUP寄存器怎么使用软件访问硬件:访问单个引脚以总线方式访问硬件点亮LED:寄存器配置:点亮LED:如何点亮一个LED: 查看原理图...

2020-03-24 17:14:28 1229

原创 嵌入式学习笔记之遇见的汇编(持续更新...)

即使使用C/C++或者其他高级语言编程,最后也会被编译工具转换为汇编代码,并最终作为机器码存储在内存、硬盘或者其他存储器上。在调试程序时,经常需要阅读它的汇编代码.这里介绍一些自己常见的汇编语句:1. LDR(load):读寄存器举例:LDR R0, [R1]假设R1的值为x,读取地址x上的数据(4字节),保存到R0中;LDR伪指令:这是LDR的一个另外的作用:LDR R0, ...

2020-03-24 16:37:38 101

原创 嵌入式学习笔记之Makefile规则和一些语法

在Linux下开发裸板程序的时候,我们一般用Makefile来组织管理这些程序和一些文件,本篇文章主要讲Makefile最基本的规则

2020-03-21 19:20:52 273

原创 线性表-链式存储结构-单链表二级指针问题

在单链表的创建和插入过程中,我们运用了二级指针,但是这里好像用一级指针也没啥问题,就这从网上摘抄了下面笔记https://blog.csdn.net/u012234115/article/details/39717215 这是原文连接函数中传递指针,在函数中改变指针的值,就是在改变实参中的数据信息。但是这里改变指针的值实际是指改变指针指向地址的值,因为传递指针就是把指针指向变量的地址传递过...

2020-03-07 15:18:38 238

原创 线性表顺序存储结构

目录线性表的定义线性表的顺序存储结构顺序存储结构的插入与删除线性表的定义线性表(List): 零个或者多个数据元素的有限序列注意: 序列说明元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有,且只有一个前驱和后继,是有限的,事实上,计算机处理的对象都是有限的线性表抽象数据结构定义前面给出了线性表的定义,现在分析一下线性表...

2020-02-28 17:14:48 667

原创 嵌入式学习笔记之gcc编译器

源文件需要经过编译才能生成可执行文件,pc下的编译工具链为gcc, ld, objcopy等, 它们编译出来的程序在x86平台下运行,要编译出可以在arm平台运行的程序,就需要使用交叉编译工具 arm-linux-gcc, arm-linux-ld等,主要介绍前者.1.gcc编译过程以及常用选项1.1 gcc编译过程一个c/c++文件要经过 预处理(preprocessing), 编译...

2020-02-03 18:15:05 328

史密斯圆图与天线阻抗匹配

阻抗匹配的本质就是使负载的阻抗加上匹配网络的阻抗,等于信号源的阻抗的共轭。这里介绍了用史密斯圆图看天线阻抗匹配的一种方法

2018-08-12

空空如也

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

TA关注的人

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