- 博客(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 663
原创 驱动编程实习日记——c++第三天(排序和查找)
<br />主要有5种算法:插入排序选择排序交换排序:冒泡,如果是按升序排列,两两比较依次把最大的放在最后面。顺序查找折半查找:适合已经按关键字排序的序列。<br /><br />交换排序(冒泡),冒泡排序模板,顺序查找,折半查找 这些都是基础,总结出来是什么就行。<br /> <br />
2011-02-27 17:27:00 757
原创 驱动编程实习日记——规划
<br />总体规划:<br /> <br />大概复习个30天,自己一个人悄悄的学习,应该能坚持下来,因为不可能闲下来,必须满足实习时间。<br /> <br />关键是看每天能学到多少东西。<br /> <br /> <br />3天看c++,3天汇编,15天国嵌的视频,然后复习+面试题。<br />每天也会看看面试题,看看c的知识。
2011-02-27 13:54:00 858
原创 [原创]什么叫左值、右值。以及为什么返回类型要用引用。
<br />如果不返回引用那作为右值没有问题,即只能拿来用,不能对其赋值。一般的函数返回值都是拿来用的,如果想要对返回值赋值,则返回引用类型。所以返回引用类型就这个作用。<br /><br />举例:以下是何洁月视频中定义动态数组类array<T>时,类里重载[]运算符的函数定义。只用返回引用类型,那么才可以将返回的如a[1]作为左值对其赋值。// 重载下标操作符,实现与普通数组一样通过下标访问元素,并且具有越界检查功能template <class T>T& Array<T>::ope
2011-02-25 17:15:00 1531
原创 【原创】c++视频笔记(东南大学 何洁月)第9讲:抽象类,虚函数,程序实例
最佳答案 虚函数是指一个类中你希望重载的成员函数,当你用一个基类指针或引用指向一个继承类对象的时候,你调用一个虚函数,实际调用的是继承类的版本。 有纯虚函数的类是抽象类,不能生成对象,只能派生。他派生的类的纯虚函数没有被改写,那么,它的派生类还是个抽象类。 定义纯虚函数就是为了让基类不可实例化化, 因为实例化这样的抽象数据结构本身并没有意义. 或者给出实现也没有意义 实际上我个人认为纯虚函数的引入,是出于两个目的,
2011-02-16 20:13:00 1363
原创 【原创】多态性、动态多态性、静态多态性、虚函数、纯虚函数、抽象类总结
多态性: 多态性就是多种表现形式,具体来说,可以用"一个对外接口,多个内在实现方法"表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。 多态性也分静态多态性和动态多态性两种。静态多态性是指定义在一个类或一个函数中的同名函数,它们根据参数表(类型以及个数)区别语义,并通过静态联编实现,例如,在一个类中定义的不同参数的构造函数。动态多态
2011-02-16 19:23:00 2420
原创 汇编入门学习----第二天(1)--中断【原创】
视频7 中断 cpu如何去找中断向量表 注意两个字是4个字节 入栈后cs和ip保存的是中断程序的cs和ip,执行完中断程序后,再把原来程序的cs和ip出栈。 也是c语言函数调用的本质。 但是我们自己会编一些中断的程序。 如何产生中断呢? 用0号中断来演示。0号中断是什么,当除法错误的时候会发生0号中断。 上面三行引发0号中断 运行后效果如上,说明0号中断是打印Divide error。 所以
2011-02-16 15:37:00 675
原创 【转】 不用中间变量,实现两个变量的交换
第一种方法适用性强,第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 449
原创 汇编入门学习----第一天(3)【原创】
视频5 实例:打印hello world 想要打印出hello world,必须了解显存的概念。 实现例子的几个问题: 这是c的程序 所以:首先要在数据段定义msg这个全局变量。打印的汇编代码放在代码段。 定义了连个段,cs和ds别名分别是code和data 完成的框架如下: db:define byte。 db就相当于c语言中定义变量的类型说明符 定义变量的问题解决了。 如何打印msg呢?首先:
2011-02-15 17:01:00 504
原创 汇编入门学习----第一天(2)【原创】
视频4: 主要内容:讲栈和与栈相关的两个寄存器。 栈是先入后出。 上节课讲到,程序在内存中有堆栈段,存放的是函数的局部变量,数据段存放全局变量。 我们知道代码段和数据段可以通过cs和ds找到。 ss×16+sp cpu规定上述公式指向的物理地址永远都是栈顶位置。 ax=1234h注意,12在栈顶。 还要注意,原来栈顶指向ffee,入栈后栈顶指向ffeb 内存中三个段如上图分布。 如果栈满再入栈,那就把数据段的内容覆盖了。 栈空出栈同样危
2011-02-15 15:52:00 450
原创 汇编入门学习----第一天
三天的时间学习下汇编吧,能学多少是多少。态度上会全身心投入三天的时间。 以前看视频总爱记笔记,后来发现记完笔记以后根本不看,这次看快点,不记笔记了,只记最重要的。 视频是从IT播吧下的。 开始喽! 写几个重要的知识点。 视频3: cs:代码段寄存器 code segment IP:指令指针寄存器。instruct pointer cs*16+IP就是实际物理地址,和上图的公式对应起来。 cpu就是这样找到代码的。为什么是cs和IP?cpu就是这样设计的,cs*16+IP
2011-02-15 13:52:00 637
原创 debug常用命令--只总结最常用的,简单明了【原创】
不止能查看寄存器的,还能直接看内存的内容。 d查看cs和ip标示的内存地址的内存里的内容。 要查看指定地址的内存内容 以ss做基地址,0000做偏移地址 用D命令看的是16进制,看不懂啊,不能人工翻译成汇编啊。怎么办呢? 用U命令。 比如我们想看看cpu要执行的第一个汇编指令是什么呢,怎么看?(这个得会) 那如何修改内存中的内容呢? t命令 输入一个t执行一个汇编指令: 每个指令占用的字节数不一样,例如上图的mo
2011-02-15 13:40:00 1059
原创 宏是文本替换,不做任何计算
看到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 1549
原创 数组和指针
<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 602
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人