自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 【原创】指针数组才能用指针的指针来表示。普通的二维数组只能用T (*p)[]来等价

<br />指针数组才能用指针的指针来表示。普通的二维数组只能用T (*p)[]来等价<br /> <br />如下:<br /> 在 C89 中,main( ) 是可以接受的。Brian W. Kernighan 和 Dennis M. Ritchie 的经典巨著 The C programming Language 2e(《C 程序设计语言第二版》)用的就是 main( )。不过在最新的 C99 标准中,只有以下两种定义方式是正确的:<br />  int main( void )  int main(

2011-02-27 17:30:00 653

原创 驱动编程实习日记——c++第三天(排序和查找)

<br />主要有5种算法:插入排序选择排序交换排序:冒泡,如果是按升序排列,两两比较依次把最大的放在最后面。顺序查找折半查找:适合已经按关键字排序的序列。<br /><br />交换排序(冒泡),冒泡排序模板,顺序查找,折半查找  这些都是基础,总结出来是什么就行。<br /> <br /> 

2011-02-27 17:27:00 732

原创 驱动编程实习日记——c++第二天(链表、栈、队列)

第一天没有写日记。从第二天开始。今天主要看何洁月的视频,现在不愿意看书,看视频到快。

2011-02-27 13:56:00 1185

原创 驱动编程实习日记——规划

<br />总体规划:<br /> <br />大概复习个30天,自己一个人悄悄的学习,应该能坚持下来,因为不可能闲下来,必须满足实习时间。<br /> <br />关键是看每天能学到多少东西。<br /> <br /> <br />3天看c++,3天汇编,15天国嵌的视频,然后复习+面试题。<br />每天也会看看面试题,看看c的知识。

2011-02-27 13:54:00 841

原创 [原创]什么叫左值、右值。以及为什么返回类型要用引用。

<br />如果不返回引用那作为右值没有问题,即只能拿来用,不能对其赋值。一般的函数返回值都是拿来用的,如果想要对返回值赋值,则返回引用类型。所以返回引用类型就这个作用。<br /><br />举例:以下是何洁月视频中定义动态数组类array<T>时,类里重载[]运算符的函数定义。只用返回引用类型,那么才可以将返回的如a[1]作为左值对其赋值。// 重载下标操作符,实现与普通数组一样通过下标访问元素,并且具有越界检查功能template <class T>T& Array<T>::ope

2011-02-25 17:15:00 1428

原创 【原创】c++视频笔记(东南大学 何洁月)第9讲:抽象类,虚函数,程序实例

    最佳答案 虚函数是指一个类中你希望重载的成员函数,当你用一个基类指针或引用指向一个继承类对象的时候,你调用一个虚函数,实际调用的是继承类的版本。 有纯虚函数的类是抽象类,不能生成对象,只能派生。他派生的类的纯虚函数没有被改写,那么,它的派生类还是个抽象类。 定义纯虚函数就是为了让基类不可实例化化, 因为实例化这样的抽象数据结构本身并没有意义. 或者给出实现也没有意义 实际上我个人认为纯虚函数的引入,是出于两个目的,

2011-02-16 20:13:00 1353

原创 【原创】多态性、动态多态性、静态多态性、虚函数、纯虚函数、抽象类总结

多态性:          多态性就是多种表现形式,具体来说,可以用"一个对外接口,多个内在实现方法"表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。 多态性也分静态多态性和动态多态性两种。静态多态性是指定义在一个类或一个函数中的同名函数,它们根据参数表(类型以及个数)区别语义,并通过静态联编实现,例如,在一个类中定义的不同参数的构造函数。动态多态

2011-02-16 19:23:00 2404

原创 汇编入门学习----第二天(1)--中断【原创】

视频7 中断   cpu如何去找中断向量表 注意两个字是4个字节 入栈后cs和ip保存的是中断程序的cs和ip,执行完中断程序后,再把原来程序的cs和ip出栈。 也是c语言函数调用的本质。 但是我们自己会编一些中断的程序。   如何产生中断呢? 用0号中断来演示。0号中断是什么,当除法错误的时候会发生0号中断。   上面三行引发0号中断 运行后效果如上,说明0号中断是打印Divide error。 所以

2011-02-16 15:37:00 665

原创 【转】 不用中间变量,实现两个变量的交换

第一种方法适用性强,第3种方法牛。 常见的面试题,很简单,但值得细想的问题还是很多,总结解法如下: (1)加减法:        int a =10,b=5;        a = a+b;        b = a-b;        a = a-b;        System.out.println("a=" + a);        System.out.println("b=" + b);    原理:其实是用a做中间变量;    问题:(1)内存溢出,有人提出这种解法如果a

2011-02-15 21:30:00 437

原创 汇编入门学习----第一天(3)【原创】

视频5 实例:打印hello world   想要打印出hello world,必须了解显存的概念。   实现例子的几个问题:   这是c的程序 所以:首先要在数据段定义msg这个全局变量。打印的汇编代码放在代码段。 定义了连个段,cs和ds别名分别是code和data 完成的框架如下:   db:define byte。 db就相当于c语言中定义变量的类型说明符   定义变量的问题解决了。   如何打印msg呢?首先:

2011-02-15 17:01:00 489

原创 汇编入门学习----第一天(2)【原创】

视频4: 主要内容:讲栈和与栈相关的两个寄存器。 栈是先入后出。   上节课讲到,程序在内存中有堆栈段,存放的是函数的局部变量,数据段存放全局变量。   我们知道代码段和数据段可以通过cs和ds找到。   ss×16+sp cpu规定上述公式指向的物理地址永远都是栈顶位置。 ax=1234h注意,12在栈顶。 还要注意,原来栈顶指向ffee,入栈后栈顶指向ffeb   内存中三个段如上图分布。 如果栈满再入栈,那就把数据段的内容覆盖了。 栈空出栈同样危

2011-02-15 15:52:00 437

原创 汇编入门学习----第一天

三天的时间学习下汇编吧,能学多少是多少。态度上会全身心投入三天的时间。 以前看视频总爱记笔记,后来发现记完笔记以后根本不看,这次看快点,不记笔记了,只记最重要的。 视频是从IT播吧下的。 开始喽! 写几个重要的知识点。   视频3: cs:代码段寄存器  code segment IP:指令指针寄存器。instruct pointer   cs*16+IP就是实际物理地址,和上图的公式对应起来。 cpu就是这样找到代码的。为什么是cs和IP?cpu就是这样设计的,cs*16+IP

2011-02-15 13:52:00 623

原创 debug常用命令--只总结最常用的,简单明了【原创】

      不止能查看寄存器的,还能直接看内存的内容。 d查看cs和ip标示的内存地址的内存里的内容。 要查看指定地址的内存内容 以ss做基地址,0000做偏移地址 用D命令看的是16进制,看不懂啊,不能人工翻译成汇编啊。怎么办呢? 用U命令。 比如我们想看看cpu要执行的第一个汇编指令是什么呢,怎么看?(这个得会)   那如何修改内存中的内容呢?   t命令 输入一个t执行一个汇编指令: 每个指令占用的字节数不一样,例如上图的mo

2011-02-15 13:40:00 1043

原创 宏是文本替换,不做任何计算

看到csdn的一个帖子,总结如下。帖子如下:#define定义的仅仅是“替换”吗?它竟然能计算![Quote=引用楼主 johnphan 的回复:]#define five 2+2+1这个five是在那里计算的呢?经过程序验证,是在#define five 2+3这句中就计算了。(也就是预处理器preprocessor计算的)而不是先替换,然后在程序中完成计算的。但在正式的课本中没有查到有关的论述。谁能给出这方面的参考资料?[/Quote][Quote=引用 3 楼 arong1234 的回复:]这和宏没有

2011-02-14 22:17:00 1514

原创 数组和指针

<br /><br />将 matrix 声明为指向含有 10 个 int 型元素的数组的指针。  <br />再次强调,*matrix 两边的圆括号是必需的<br />int *matrix[10];   // array of 10 pointers <br />int (*matrix)[10]; // pointer to an array of 10 <br /> <br />下面橘红色标记的那个就是数组指针,指向数组的指针。<br />且第一个表示的是一个多维数组,一维的是int *matrix

2011-02-08 22:03:00 594

国嵌视频讲义

国嵌视频讲义,上半部.下半部,有机会再传。国嵌的视频还是很好的,通俗易懂。

2011-12-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除