随笔分类 -  嵌入式C语言

我是被迫学习嵌入式C语言的,不过只要慢慢会了,就有兴趣了。
摘要:定义一个普通函数 int func_a(int,int); //函数func_a参数为2个int类型,返回int类型 int func_a(int,int){ } 定义一个指针函数 int (*func_b)(int,int); //指针函数*func_b,参数为2个int类型变量,返回int类型 阅读全文
posted @ 2019-07-25 10:21 lililili—— 阅读(254) 评论(0) 推荐(0)
摘要:多级指针 int **p; 存访地址的地址空间 阅读全文
posted @ 2019-07-07 20:34 lililili—— 阅读(149) 评论(0) 推荐(0)
摘要:1. ++、--、+、- int a=100; a+1; 对比: int *p=xxx; [0x12] p+1; [0x12+1*sizeof(*p)] 指针的加法(减法)运算,实际上加(减)的是一个单位,单位的大小可以使用sizeof(p(0))获得 int *p p+1 char *p p+1 阅读全文
posted @ 2019-07-07 20:32 lililili—— 阅读(206) 评论(0) 推荐(0)
摘要:const:变量,只读【不能变】 内存属性: 1. 内存操作的大小 2.内存的变化性,可写可读 char *p; const char *p; 描述字符串,p指向的内容是只读的,不可再次修改 char const *p; char * const p; 硬件资源的定义 char *p const; 阅读全文
posted @ 2019-07-07 20:10 lililili—— 阅读(232) 评论(0) 推荐(0)
摘要:这个很不错! 阅读全文
posted @ 2019-07-07 15:15 lililili—— 阅读(521) 评论(0) 推荐(0)
摘要:数据类型:是用来描述程序中的数据结构、数据表示范围、数据在内存中的存储等性质。 数据结构: 是相互之间存在的一种或者多种特定关系的数据元素的集合。如:线性表(顺序表和链表)、栈和队列、串、数组和广义表、树和二叉树、图、存储、查找、排序、文件、字典、集合 阅读全文
posted @ 2019-07-06 22:06 lililili—— 阅读(780) 评论(0) 推荐(0)
摘要:语言可以简略的分为: 静态语言和动态语言 我这边主要会:python,c,shell 不同点: 静态语言(java,c)往往需要声明每一个变量,而动态语言(python)可以跳过这个规定,也就是实现动态的输入。 总结:在c语言中,每个变量的数据类型都必须被明确的声明(主要有访问内存,指定数据内存大小 阅读全文
posted @ 2019-07-06 21:15 lililili—— 阅读(216) 评论(0) 推荐(0)
摘要:指针:就是内存资源的地址、门牌号的代名词 假如你所在的城市是一个内存(存储器),如果找到你家,就是通过你的家庭住址(指针)寻找,而你家里的摆设面积之类的就是内存的内容(指针指向的内容)。 指针变量:存放指针这个概念的盒子 c语言编译器对指针这个特殊的概念,有两个疑问? 1. 分配一个盒子,盒子要多大 阅读全文
posted @ 2019-07-01 23:01 lililili—— 阅读(229) 评论(0) 推荐(0)
摘要:二进制 (逢2进1) 只有01 10001 十进制(逢10进1) 可正可负,其数码取值0-9,但是多位数不能以0开头 123=3*10^0+2*10^1+1*10^2 八进制 (逢8进1) 以数字0开头,数码取值0-7 0123=3*8^0+2*8^1+1*8^2=83 十六进制 (逢16进1) 以 阅读全文
posted @ 2019-06-29 14:05 lililili—— 阅读(373) 评论(0) 推荐(0)
摘要:在公司经常听其他工程师讲x86,arm平台啥的,作为一个算法工程师,我听过却不知道这是啥!!!(汗颜) 现在偷偷学起: x86,arm,mips等这些都是CPU的架构,不管是手机电脑还是一些嵌入式的设备都需要CPU,但是他们使用的CPU架构是有区别的。 x86主要用于PC领域如笔记本、台式机、小型服 阅读全文
posted @ 2019-06-29 10:59 lililili—— 阅读(5652) 评论(0) 推荐(1)
摘要:1. 算数运算符 + - A +/- B 要求A,B数据类型一致 * 乘法 / 除法 %取模 乘法CPU可能需要多个周期,甚至需要利用软件的模拟方法来实现乘法 %取模应用场景:取一个范围的数;得到M进制的一个个位数;循环数据结构的下标 2. 逻辑运算符 真 1 假 0 或 || 与 && 非! 3. 阅读全文
posted @ 2019-06-27 21:23 lililili—— 阅读(299) 评论(0) 推荐(0)
摘要:到目前为止,我接触最多两种语言应该就是python 和 C 语言了。 个人理解 1. 执行速度不同, python为解释性语言,C是编译型语言(需要编译器) 2. python 是基于C的实现,C中很多指针的操作,到了python就没有了 3. 数据类型不同,python中不必定义数据类型,而且数据 阅读全文
posted @ 2019-06-27 17:25 lililili—— 阅读(1292) 评论(0) 推荐(0)
摘要:对内存资源存放位置的限定 1. auto 默认值 分配的内存都是可读可写的区域 auto int a; 区域如果出现 {} 我们认为在栈空间 2. register register int a; 限制变量定义在寄存器上的修饰符 定义快速访问的变量,放在寄存器内计算速度更快! 编译器会尽量的安排CP 阅读全文
posted @ 2019-06-26 22:40 lililili—— 阅读(255) 评论(0) 推荐(0)
摘要:1. if else if(条件表达式){ ****;} else {xxxxxx;} 2. switch case default 3. do while for 4. continue break goto 阅读全文
posted @ 2019-06-26 22:23 lililili—— 阅读(210) 评论(0) 推荐(0)
摘要:1. struct 结构体 基本语法 struct myabc{ unsigned int a; unsigned int b; unsigned int c; unsigned int d; } 调用: int i; struct myabc mybuf; //mybuf 就是myabc类型 结构 阅读全文
posted @ 2019-06-26 22:11 lililili—— 阅读(484) 评论(0) 推荐(0)
摘要:每个知识点4问: 1. 是什么? 2. 什么时间用? 3. 怎么用? 4.为什么这么用? 1. 32个关键字 (2) return:返回的概念 (3) 数据类型 C操作对象:资源/内存 char(1Byte) int(4Byte) long(4Byte) short(2Byte) unsigned, 阅读全文
posted @ 2019-06-25 22:37 lililili—— 阅读(303) 评论(0) 推荐(0)
摘要:1. #include 包含头文件 2.define 宏定义(可以理解为替换,不进行语法检查) 写法 #define 宏名 宏体 加括号 #define ABC (5+3) #define ABC(x) (5+(x)) 宏函数 3. #ifdef #else #endif 条件编译 技巧性比较强! 阅读全文
posted @ 2019-06-25 09:45 lililili—— 阅读(226) 评论(0) 推荐(0)
摘要:1.预处理错误 #include <> //系统内部的 #include "" // 自定义的 遇到 not find 解决方案:gcc -I 跟查找头文件的目录 -o build 001.c gcc - I./inc -o build 001.c 2. 编译错误 语法错误 ;和{} 问题 3. 链 阅读全文
posted @ 2019-06-25 09:41 lililili—— 阅读(134) 评论(0) 推荐(0)
摘要:2019/6/27 对gcc的理解 全名:GUN C Compile 编译器的一种,就是将人能理解的语言翻译成机器能理解的语言,而GCC就充当了翻译官或者翻译组织。 2019/6/24 1. 环境:window10下安装了MobaXterm,这里申请了阿里云的服务账号,可以直接使用linux系统,避 阅读全文
posted @ 2019-06-24 23:44 lililili—— 阅读(560) 评论(0) 推荐(0)
摘要:先推荐学习视频网站: https://www.bilibili.com/video/av22631677?from=search&seid=800092160484173881 http://c.biancheng.net/view/1714.html 书籍只推荐2本: 1. c语言深度剖析 链接: 阅读全文
posted @ 2019-06-23 23:16 lililili—— 阅读(1818) 评论(0) 推荐(0)