不然你要我怎么样

彪悍的代码不需要注释

Archive for 十二月, 2008

【转帖】动态内存分配(二)

leave a comment

链表实现方法

一、单链表的建立

有了动态内存分配的基础,要实现链表就不难了。

所谓链表,就是用一组任意的存储单元存储线性表元素的一种数据结构。

链表又分为单链表、双向链表和循环链表等。我们先讲讲单链表。

所谓单链表,是指数据接点是单向排列的。一个单链表结点,其结构类型分为两部分: Read the rest of this entry »

转载请注明: 转载自不然你要我怎么样
本文链接地址: 【转帖】动态内存分配(二)

Written by xiangmocheng

十二月 23rd, 2008 at 10:54 上午

Posted in Embedded

【转帖】动态内存分配(一)

one comment

原文地址:http://hi.baidu.com/xy_zm/blog/item/04cfcb08e2dcec34e82488af.html

为什么用动态内存分配

当我们未学习链表的时候,如果要存储数量比较多的同类型或同结构的数据的时候,总是使用一个数组。比如说我们要存储一个班级学生的某科分数,总是定义一个float型(存在0.5分)数组:

float score[30];

但是,在使用数组的时候,总有一个问题困扰着我们:数组应该有多大?

在很多的情况下,你并不能确定要使用多大的数组,比如上例,你可能并不知道该班级的学生的人数,那么你就要把数组定义得足够大。这样,你的程序在运行时就申请了固定大小的你认为足够大的内存空间。即使你知道该班级的学生数,但是如果因为某种特殊原因人数有增加或者减少,你又必须重新去修改程序,扩大数组的存储范围。这种分配固定大小的内存分配方法称之为静态内存分配。但是这种内存分配的方法存在比较严重的缺陷,特别是处理某些问题时:在大多数情况下会浪费大量的内存空间,在少数情况下,当你定义的数组不够大时,可能引起下标越界错误,甚至导致严重后果。

那么有没有其它的方法来解决这样的问题呢?有,那就是动态内存分配。 Read the rest of this entry »

转载请注明: 转载自不然你要我怎么样
本文链接地址: 【转帖】动态内存分配(一)

Written by xiangmocheng

十二月 22nd, 2008 at 3:41 下午

Posted in Embedded

【转贴】重装Windows后无法进入Ubuntu的修复方法

leave a comment

如果你的电脑是Win和Ubuntu双系统的,可能会遇到这样的问题,就是重装Win之后将无法进入Ubuntu了。一般情况下遇到这样的问题,我们有两种方法解决:

最简单的方法:

1.利用LiveCD盘进入后把所有的盘都挂载。

2.拷贝原Ubuntu下的/boot/grub到Windows的C盘。

3.修改Win的C盘里的boot.ini文件(可能需要修改隐藏和只读属性),在这个文件最后加入一句:

C:\grldr=ubuntu

4.重启选择Ubuntu。

第二种方法:注意此种方法只能在重装Windows之前到Ubuntu下操作。

首先确定你的grub正常,并能启动linux然后启动到Ubuntu如果你的是IDE硬盘,请运行:

sudo dd if=/dev/hda of=/media/linux.lnx bs=512 count=1

如果你硬盘的被识别为sda ,请运行:

sudo dd if=/dev/sda of=/media/linux.lnx bs=512 count=1

然后你可以到/media找到linux.lnx这个文件将它拷贝到你的Windows所在的根目录,一般是C:\,然后重启Windows,修改根目录下的boot.ini 文件,在这个文件最后增加:C:\linux.lnx=”linux”。OK,重启选择Ubuntu吧。

注意:你可以将这个文件备份,可以备份到网络硬盘或者U盘内。这样你重装Win之后,只需要将这个文件拷贝到Windows的根目录,修改boot.ini 就可以了!

总结:相比较而言,第一种方法更简单一点,但是我觉得第二种方法更一劳永逸。当然,你可以选择利用重装grub来恢复对Ubuntu的引导。

转载请注明: 转载自不然你要我怎么样
本文链接地址: 【转贴】重装Windows后无法进入Ubuntu的修复方法

Written by xiangmocheng

十二月 22nd, 2008 at 3:25 下午

Posted in Linux

Tagged with ,