- 博客(18)
- 收藏
- 关注
原创 STM32基础
STM32的含义 ST ———意法半导体,一个公司名,即SOC厂商 M ———Micorelectronics的缩写,表示微控制器,不是微处理器 32 ———32bit,32bit的微控制器 STM32属于一个微控制器,自带了各种常用的通信接口 1、串口 —— USART,用于跟跟串口接口的设备通信,例如USB转串口模块、ESP8266WIFI、GPS模块、GSM...
2018-07-18 16:32:57
608
原创 waitpid && sigaction
waitpid#include<sys/types.h>#include<sys/wait.h>#include<stdio.h>#include<unistd.h>#include<stdlib.h>void die(const char *msg){ perror(msg); exit(1);}void child2_do...
2018-03-16 17:42:20
234
原创 简答(4)
1.四层网络模型 & 五层网络模型 & 七层网络模型(每层写出对应的三个协议)http://blog.youkuaiyun.com/ifubing/article/details/79060140http://blog.youkuaiyun.com/xinianbuxiu/article/details/536070942.写出网络编程的API(注明作用)http://blog.youkuaiyun.com/u012...
2018-02-08 16:25:40
538
原创 栈 & 队列(2)
1.队列的定义 队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。假设队列是q = ( a1, a2, ......, an),那么a1就是队头元素,而an是队尾元素。这样我们删除时,总是从a1开始,而插入时,列在最后。排在第一个的优先出列,
2018-02-06 13:58:23
177
原创 栈 & 队列(1)
1.栈的理解 栈(stack)时限定仅在尾表进行插入和删除操作的线性表。 我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom) ,不含任何数据元素的栈称为空栈。 栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。 首先它是一个线性表,也就是说,栈元素具有线性关系,即前驱后继关系。只不过它是一种特殊的线性表 2
2018-02-06 10:43:21
176
原创 链表(1)
1.线性表的链式存储结构 让所有元素不考虑相邻位置,哪有空位就到哪里,只是让每个元素知道它下一个元素的位置在哪。这样,我们可以在第一个元素时,就知道第二个元素的位置(内存地址),而找到它;在第二个元素时,再找到第三个元素的位置(内存地址)。这样所有的元素我们就可以通过遍历而找到。 现在链式结构中,除了要存数据元素信息外,还要存储它的后继元素的存储地址。 我们把存储数据元素信息的域称为
2018-02-02 20:39:55
218
原创 简答(3)
1.简述数组与指针的区别 (1)空间分配 指针是动态分配空间,通过malloc在堆上分配所需要的空间,分配的空间不一定连续,在使用完之后需要调用free()来释放分配空间。而数组是静态分配空间,在全局变量区或者栈 上分配空间,分配的空间是连续的,局部变量在生命周期结束后自动释放,全局变量在程序结束完自动释放。 (2)访问效率 指针是通过地址间接访问,而数组是直接访问数值。因此指针的访问效
2018-02-02 16:03:49
322
原创 简答(2)
1.系统调用与库函数的区别 库函数是语言的一部分,而系统函数是内核提供给应用程序的接口,属于系统的一部分。 库函数调用时语言或应用程序的一部分,而系统调用是操作系统的一部分。 用户应用程序访问并使用内核所提供的各种服务的途径即是系统调用。在内核和用户应用程序相交界的地方,内核提供了一组系统调用接口,通过这组接口,应用程序可以访问系统硬件和各种操作系统资源。 (1)系统调用是
2018-02-02 15:25:00
278
原创 简答(1)
1.关键字static的作用是什么 我: (1),修饰全局变量,改变其作用域,只能在本文件使用。 (2),修饰函数,改变其作用域,只能在本文件中调用。 (3),修饰局部变量,改变变量的生命周期,直至程序结束才会释放。 书: 简单来说static修饰变量,就是指该变量空间独立于函数中的auto变量(auto被解释为一个自动存储变量的关键字,也就是申明一块临时的变量内存。)或者栈变
2018-01-31 20:07:51
211
原创 内存 & 预处理 & 结构体(1)
1.数据段(.bss .data .rodata) .bss段 用来存放那些没有初始化和初始化为0的全局变量 bss类型的全局变量只占运行时的内存空间,而不占用文件空间 现在大多数操作系统,在加载程序时,会把所有的bss全局变量清0.但为保证程序的可以移植性,手工把这些变量初始化为0也是一个好习惯,这样这些变量都有个确定的初始值。当然作为全局变量,在这个程序的运行周期内
2018-01-29 15:43:11
250
原创 指针(2)
指针 指针是变量的一种,里面是一个地址,通过这个地址找到要寻找的数据 int *p = &a // p指向a, p代表a的地址 指针无论什么类型都是4个字节,一个字节8位,32位操作系统 段错误的原因:访问了不能访问的内存 int *p; //野指针,指向不能访问的地址 int *p = NULL; //空指针 p = &a; // p 是指针,将a 的地址赋
2018-01-29 10:28:57
204
原创 数组 & 函数(2)
函数 for(表达式1, 表达式2, 表达式3) 表达式1:初始条件 表达式2:结束条件 表达式3:执行语句 逗号语句(,) 表达式1,表达式2 : 运行先1后2,但是,有1的过程,结果显示是表达式2 的结果 break 只能出现在循环和switch语句中 最长的循环放在最内层 子函数 1.通过函数名找到函数入
2018-01-27 16:13:54
157
原创 指针(1)
1.指针的类型 从语法上来看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型,这是指针本身具有的类型。 实例 (1)int *ptr; //指针的类型是 int* (2)char *ptr; //指针的类型是 char* (3)int **ptr; //指针的类型是 int** (4)int (*ptr)[3]; //指
2018-01-27 15:33:59
207
原创 数组 & 函数 (1)
1.无参函数的定义形式 类型标识和函数名称为函数头。类型标识符指明了本函数的类型,函数的类型实际上是函数返回之类型,该类型标识符与前面介绍的各种说明符相同。函数名是由用户定义的标识符,函数名后有一个空括号,其中无参数,但括号不可少。 {}中的内容称为函数体。在很多情况下都不要求无参函数有返回值。此时函数类型符可以写void 2.有参函数定义的一般形式 有参函数比无参函数多了一个内容,即形式
2018-01-25 16:09:31
242
原创 Makefile & GDB & Shell
Makefile(编译工程,要求读懂) target : depengency ( Tab 字符) command 实例 第一步. vim Makefile 第二步. hello : hello.o (Tab 键 空4格) gcc hello.o -o hello hello.o : hello,c (Tab gcc -c h
2018-01-25 11:30:58
216
原创 数据类型(1)
数据类型 1. int add = 0x123456789; int *p = (int*)add; Q:add是什么,add里装了什么,p是什么,p里装了什么,*p是什么,&p又是什么 A:add 是一个整型变量,add里面是0x123456789的二进制数;p是一个整型指针变量,p里面是0x123456789的二进制数,不过是以地址的方式表现出来,代表地址0x1234
2018-01-23 18:57:46
313
原创 Linux 命令
Linux 命令 文件处理命令 file 1.作用 通过探测文件内容判断文件类型,使用全新啊是所有用户 2.格式 file -v 文件名:在标准输出后显示版本信息,并推出 file -z 文件名:探索压缩过的文件类型 file -L 文件名:允许符合链接 file -f name:从文件namefile中读取要分析的文件名列表 3.实例 无后缀的
2018-01-23 16:48:59
169
原创 C语言基础
C语言的基础入门 1.基本符号的含义 ~ :家目录,包含虚拟机重要文件,所有文件不可进行操作,否则进行重装。 / :根目录,尽量不保存文件(单独开头为根目录,两个目录之间为隔开作用) /bin : 可执行二进制目录文件 /boot :linux系统启动文件(非必需) /dev :设备文件目录(一切皆文件) /etc :配置文件目录(/etc/passwd) /home :系
2018-01-23 13:44:09
316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅