随笔分类 - C及ARM裸机系列博文
摘要:今天从函数传参的角度来理解指针。如果想交换两个变量a,b的值,我们会这么做:int temp;temp = a;a = b;b = a;如果要把以上功能封装成一个函数,最开始的反应是:func(int a,int b){int temp;temp = a;a = b;b = a;}但是func(a,...
阅读全文
摘要:首先普通变量有两种形态:a &aa:表示内存中的值。&a:表示存放该值的内存地址。指针变量有3种形态:p *p &p;p: 代表指针变量中存放的地址值,这个地址值一般就是某个变量的内存地址。*p: 对应的是,p里存放的内存地址中的值。&p: 存放指针变量的内存地址。指针的意义是间接访问,那间接访问的...
阅读全文
摘要:前言:最近在看一位叫朱有鹏大神的视频,讲的甚好。应此,我的感悟也因此被激发,准备针对朱老师将的内容,结合自己的理解,写一个系列的笔记博客~~大家可以去www.zhulaoshi.org观看视频~~ 带参数的宏定义,可以起到类似函数的效果,虽然看起来比定义函数简洁,但简洁的背后藏有陷阱,需要我们去注意...
阅读全文
摘要:前言:最近在看一位叫朱有鹏大神的视频,讲的甚好。应此,我的感悟也因此被激发,准备针对朱老师将的内容,结合自己的理解,写一个系列的笔记博客~~大家可以去www.zhulaoshi.org观看视频~~要想理解此文,需要熟悉位操作的方法,您可能需要先阅读这篇文章—:《arm学习——有关位操作的总结》我们用...
阅读全文
摘要:前言: 最近在看一位叫朱有鹏大神的视频,讲的甚好。应此,我的感悟也因此被激发,准备针对朱老师将的内容,结合自己的理解,写一个系列的笔记博客~~大家可以去www.zhulaoshi.org观看视频~~正文:*P++,这种用法是很常见的,很有用的。但是不是很好理解,现在 来彻底分析下~~ 首先...
阅读全文
摘要:哈佛结构是,数据和代码分开存在。冯诺依曼结构是在哈佛结构之后提出的,冯诺依曼提出“代码本身也是一种数据”,解决了哈佛结构的一个问题——总线暂用资源太多。冯诺依曼结构是,数据和代码放在一起。首先,通过BIOS(Uboot)将硬盘(Flash)中的程序(数据和代码),全部拷贝到RAM。所以此时RAM内部...
阅读全文
摘要:在学习arm的过程中,感觉寄存器,基本不会提供位操作,而是整体的操作, 整体操作的就是要注意在对某位赋值的时候不要影响到其他位,看上去不简单, 其实,整体操作有技巧, 那么就来总结一下: 1、首先要理解,“|”符号就是用来置1的,“&”就是用来置0的。 2、不...
阅读全文
摘要:今天测试了一个程序,来理解一下数组指针,感觉有所收获,在此分享。 1 int main() 2 { 3 int a[6]={1,2,3,4,5,6}; 4 int* ptr1=(int *)&a; 5 int* ptr2=(int *)(&a+1); 6 int*...
阅读全文
摘要:写了几年的C指针几乎没怎么用过,因为感觉没什么用。不过在听了一位老师讲课之后,我改变的我的想法。在此稍做总结,希望能帮到一些和我有同样想法的人,希望看完这篇文章后能改变您的想法。 首先,说说概念,指针是什么?基本的作用是什么? 答:指针它本身就是一个变量,它的作用就是用来保存地...
阅读全文