C语言
wolf19860612
这个作者很懒,什么都没留下…
展开
-
位操作-在寄存器中的使用
位与:(任何数,其实就是1或者0)与1位与无变化,与0位与变成0位或:(任何数,其实就是1或者0)与1位或变成1,与0位或无变化位异或:(任何数,其实就是1或者0)与1位异或会取反,与0位异或无变化寄存器操作的要求(特定位改变而不影响其他位)(1)ARM是内存与IO统一编址的,ARM中有很多内部外设,SoC中CPU通过向这些内部外设的寄存器写入一些特定的值来操控这个内部转载 2015-10-10 22:58:52 · 4944 阅读 · 0 评论 -
指针数组与数组指针
4.4.1.1、字面意思来理解指针数组与数组指针(1)指针数组的实质是一个数组,这个数组中存储的内容全部是指针变量。(2)数组指针的实质是一个指针,这个指针指向的是一个数组。4.4.1.2、分析指针数组与数组指针的表达式(1)int *p[5]; int (*p)[5]; int *(p[5]);(2)一般规律:int *p;(p是一个指针); int p[5];(p是一个数组转载 2015-11-11 22:46:23 · 325 阅读 · 0 评论 -
输入型参数(const)与输出型参数
4.3.10.2、函数传参中使用const指针(1)const一般用在函数参数列表中,用法是const int *p;(意义是指针变量p本身可变的,而p所指向的变量是不可变的)。(2)const用来修饰指针做函数传参,作用就在于声明在函数内部不会改变这个指针所指向的内容,所以给该函数传一个不可改变的指针(char *p = "linux";这种)不会触发错误;而一个未声明为const的指针转载 2015-11-11 22:31:39 · 2267 阅读 · 0 评论 -
C语言编程函数编写一般原则
其实如果没有形参列表和返回值,函数也能对数据进行加工,用全局变量即可。用全局变量来传参和用函数参数列表返回值来传参各有特点,在实践中都有使用。总的来说,函数参数传参用的比较多,因为这样可以实现模块化编程,而C语言中也是尽量减少使用全局变量。(全局变量传参最大的好处就是省略了函数传参的开销,所以效率要高一些;但是实战中用的最多的还是传参,如果参数很多传参开销非常大,通常的做法是把很多参数原创 2015-11-11 21:57:29 · 542 阅读 · 0 评论 -
C 语言中结构体引用符号"."和"->"的区别
当结构体是一个指针时要引用结构体的成员就用-> 而如果不是指针就用.原创 2015-10-26 22:00:54 · 1146 阅读 · 0 评论 -
栈的使用-局部变量的定义
定义局部变量,其实就是在栈中通过移动栈指针来给程序提供一个内存空间和这个局部变量名绑定。因为这段内存空间在栈上,而栈内存是反复使用的(脏的,上次用完没清零的),所以说使用栈来实现的局部变量定义时如果不显式初始化,值就是脏的。如果你显式初始化怎么样?C语言是通过一个小手段来实现局部变量的初始化的。int a = 15; // 局部变量定义时初始化C语言编译器会自动把这行转成:int转载 2015-10-10 21:11:43 · 705 阅读 · 0 评论 -
C语言学习-数据类型本质(表示一个内存格子的长度和解析方法)
C语言中数据类型的本质含义是:表示一个内存格子的长度和解析方法。数据类型决定长度的含义:我们一个内存地址(0x30000000),本来这个地址只代表1个字节的长度,但是实际上我们可以通过给他一个类型(int),让他有了长度(4),这样这个代表内存地址的数字(0x30000000)就能表示从这个数字(0x30000000)开头的连续的n(4)个字节的内存格子了(0x30000000 + 0x30转载 2015-10-09 20:53:54 · 667 阅读 · 0 评论 -
ROM、RAM、DRAM、SRAM和FLASH的区别
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。 RAM 有两大类,一种称为静态RAM(StaticRAM/SRAM),SRAM速度非常快,是目前读写最快的存储设转载 2015-10-07 15:24:41 · 219 阅读 · 0 评论 -
冯诺依曼结构与哈佛结构学习
冯诺依曼结构:数据与代码放在一起哈佛结构:数据和代码分开存在在S5PV210运行Linux中系统,运行应用程序时:这时候所有的应用程序的代码和数据都在DRAM,所以这种机构就是冯诺依曼结构;在单片机中,我们把程序代码烧写到Flash(NorFlash)中,然后程序在Flash中原地运行,程序中所涉及到的数据(全局变量、局部变量)不能放在Flash中,必须放在RAM(SRAM)中,这种结转载 2015-10-07 14:59:41 · 1104 阅读 · 0 评论 -
指针的数据类型的含义
(1)指针的本质是:变量,指针就是指针变量(2)一个指针涉及2个变量:一个是指针变量自己本身,一个是指针变量指向的那个变量(3)int *p;定义指针变量时,p(指针变量本身)是int *类型,*p(指针指向的那个变量)是int类型的。(4)int *类型说白了就是指针类型,只要是指针类型就都是占4字节,解析方式都是按照地址的方式来解析(意思是里面存的32个二进制加起来表示一个内存地址转载 2015-10-20 22:19:55 · 1124 阅读 · 1 评论 -
PID参数调节过程
STM32控制电机到一定位置,位置值用码盘读取下面pid_ctrl_Daily1函数是PID调整的程序,然后在主程序中调用////// 电机码盘 PID运算 ,用PID参数来实际控制角度,角度值为angle ///////double pid_ctrl_Daily1(double *array){ //定义变量 double ref = 0;//设置参数 double fe原创 2015-12-06 21:27:45 · 1631 阅读 · 0 评论