宋桓公

编程语法分析之从表达式说起

表达式,一般有操作数和操作符组成。要问表达式和语句的区别,百度截取的一个回答:在c语言中,分号“;”是语句结束的标志,就相当于中文中的句号。表示一条语句的结束。反过来,“;"是语句的象征,本身";"就表示一条语句,称为空语句,一般用于占位。比

编程语法分析之“优先级”和“结合律”

上节《编程语法分析之从表达式说起》中说到表达式,他的主要作用就是返回一个值!那这个值具体是多少,就要看表达式的整个运算过程。要理解表达式的运算过程就必须了解“优先级”和“结合律”。之前讲到表达式,一般有操作数和操作符(或者叫做运算符)组成。“优先级”

浅析arm的异常、中断和arm工作模式的联系

说到异常向量,会让人联想到中断向量。其实,中断是属于异常的子集的,也就是说中断其实是异常其中的一种。回到异常向量,他其实是一张表格,每个格子里存放的是一个地址,或者是一个跳转命令,不管是哪个,其目的都是让PC跳转到真正处理异常的代码的地方。以下是arm的

解引用结构体指针的值是什么

#include<stdio.h>#include<string.h>typedefstructabc{chara;charb;charc;}Abc;intmain(intargc,char*argv[]){Abca;Abc*p=&a;memset(p,0,sizeof(*p));//保证内存一开始就是干净的a.a=1;a.b=3;a.c=7;printf("%d\n",a);printf("%d\n"

指针变量、普通变量、内存和地址的全面对比

本片文章,将提到4个概念:1、普通变量2、指针变量3、内存(内存空间)4、地址我们先看内存是什么?内存是实实在在的硬件,可以存放数据!在我们的一块可编程的芯片的内部有大把的内存。形象一点,内存就像一个个的小格子,每个格子的大小是一个字节,可以存放一个字节

你可能不知道的,定义,声明,初始化

声明定义虽然无处不在,但是真正的想区分它们,却不是表面上那么简单。首先,从广义的角度来讲声明中包含着定义:定义又可以称之为,“声明性定义”;而狭义的声明,有可称之为“引用性声明”。下面,我们就来讨论“声明性定义”与“引用性声明”。的区别,之后简称定义

uboot启动过程理解

对于2440而言,启动的方式不多。一般就是外界一个NANDFLASH,2440内部有个NANDFLASHController,会自动把NANDFLASH的前4K拷贝到2440的片内SRAM。2440这个片内SRAM就是所谓的SteppingStone刚好也是4K。在制作启动代码时,就是uboot。一般会把uboot分为两个部分,一般就会

C语言如何向系统接要存

C语言如何向系统接要存,就有这么三种方式:1、向栈要。2、向堆要。3、向数据段要。这一下就扯出了三种内存空间,内存空间的本质是一样的,一个地址对应一个方框,方框里可以放数据。但是为了更好的去管理这篇空间,于是将空间分成了几个不同的区域,这些区域有:1、栈

数组指针与二维数组详解

前言:最近在看一位叫朱有鹏大神的视频,讲的甚好。应此,我的感悟也因此被激发,准备针对朱老师将的内容,结合自己的理解,写一个系列的笔记博客~~大家可以去www.zhulaoshi.org观看视频~~1)如何识别二维数组。二维数组肯定是有两个维度,从左到右看:[2]是第一个维

从两句汇编认识运行时地址与链接地址

首先看两行汇编代码:1:adrr0,_start2:ldrr1,=_start.csharpcode,.csharpcodepre{font-size:small;color:black;font-family:consolas,"CourierNew",courier,monospace;background-color:#ffffff;/*white-space:pre;*/}.csharpcodepre{margin:0em;}.csharpcode.rem{color

对*P++的理解,再联想~~~

前言:最近在看一位叫朱有鹏大神的视频,讲的甚好。应此,我的感悟也因此被激发,准备针对朱老师将的内容,结合自己的理解,写一个系列的笔记博客~~大家可以去www.zhulaoshi.org观看视频~~正文:*P++,这种用法是很常见的,很有用的。但是不是很好理解,现在来彻底

带参数的宏定义实战篇

位操作和带参数的宏,能擦出怎样的火花?

带参数的宏定义理解篇

总结:带参数的宏定义,虽然形式上简单,但是他其实还是简单的替换,所以在宏体中,能括起来的 尽量都括起来。

指针的意义

更好的理解指针

冯诺依曼结构和哈佛结构

哈佛结构是,数据和代码分开存在。冯诺依曼结构是在哈佛结构之后提出的,冯诺依曼提出“代码本身也是一种数据”,解决了哈佛结构的一个问题——总线暂用资源太多。冯诺依曼结构是,数据和代码放在一起。首先,通过BIOS(Uboot)将硬盘(Flash)中的程序(数据和代码),
Baidu
map