本帖最后由 hx131452 于 2010-12-21 17:57 编辑
MADE BY hx131452[52PoJie.Cn]
现在看到网上大大小小的培训班,或者几天就可以学习xx语言,什么的? 学会? 到底是什么意思?学个大概? 当然想深入是不可能的。 大家入门都是C,我就拿C为例子吧,首先最常用的3个基本类型 BYTE WORD DWORD 余下就是大家自定义的结构 Struct 奇怪好好的 大家为什么要自定义结构? 不知道大家学个PE结构没有?我认为学习PE结构对C语言很有帮助 首先 回答一下:为什么要自定义结构? 大家都知道内存是线性结构,但是我们这个世界可不是线性的,每个事物之间是有关联的 所以才会有数据结构这本书存在的必要 更准确的说内存是由一些地址和地址所对应的空间组成的 那么我们怎么把我们要表示的东西放进去啊 放进去后,怎么取出来? 其实我们完全不需要结构,可以一个字节一个字节的放,但是为什么要结构? 你是想每天步行上班,还是做小车上班,很简单你是想做小车上班 同样的道理,结构也就是为了减省你的麻烦,让你更方便的操作 那么我们接着讨论指针 指针是做什么?为什么有他存在的价值(如果没有他存在的价值?人们也不会研究它了?) 指针 就是我上面所说 就是内存地址 当然他是4个字节的 我们内存是ram 所以一旦停电,当然他的数据就消失了,所以就要给他保存在文件里面, 何谓文件? 一个特殊的结构 那么我们可以变成读取这个文件不? 当然可以 那么我想读取文件里面某个字节可以不? 当然可以,知道知道这个文件所对应的地址就可以读取了 那么我怎么知道文件的地址? 文件有二种打开方式: 1.
文件隐射 也就是直接把文件拷贝到内存中 拷贝到那块内存中?当然开始你要申请的 如果你申请了,你当然知道文件的内存的起始位置 2.不隐射 这个就直接用文件偏移,可以取到 看到这里的朋友们可能就有疑问了,内存中全部都是数据,我怎么知道去多少? 此时你前面定义的结构就出现了 利用它我们可以很方便的得到我们要得到的数据 否则这么一块数据,我们很难辨别啊 还有一个忘记说了,为什么要类型的存在? 他们就是为了方便我们在内存中取数据的 相当于一个单位吧 |