C& C++
JonahMoon
这个作者很懒,什么都没留下…
展开
-
Struct 和 typedef struct的区别
Struct 和 typedef struct的区别1.结构体的定义:允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体(实际上应称为 结构体类型)。2.下面以一个结构体实例来说明一下struct的用法:structos_tcb{OS_STK*OSTCBStkPtr;OS_STK*OSTCBStkBottom;...转载 2019-02-27 18:11:09 · 1788 阅读 · 1 评论 -
关于KMP算法的next数组
KMP的next数组求法是很不容易搞清楚的一部分,也是最重要的一部分。我这篇文章就以我自己的感悟来慢慢推导一下吧!保证你看完过后是知其然,也知其所以然。如果你还不知道KMP是什么,请先阅读上面的链接,先搞懂KMP是要干什么。下面我们就来说说KMP的next数组求法。KMP的next数组简单来说,假设有两个字符串,一个是待匹配的字符串strText,一个是要查找的关键字strKey。现在我们...转载 2019-03-17 22:35:24 · 170 阅读 · 0 评论 -
滚动数组
滚动数组的作用在于优化空间,主要应用在递推或动态规划中(如01背包问题)。因为DP题目是一个自底向上的扩展过程,我们常常需要用到的是连续的解,前面的解往往可以舍去。所以用滚动数组优化是很有效的。利用滚动数组的话在N很大的情况下可以达到压缩存储的作用。一个简单的例子:斐波那契数列:一般代码:#include<iostream>#include<cstdio>...转载 2019-03-12 17:39:09 · 200 阅读 · 0 评论 -
C&C++经典基础题(常年更新)
1、有以下程序 main(){ int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a<b); printf("%d,%d\n",k,m); } 程序运行后的输出结果是______。 A:0,0 B:0,1...原创 2019-03-13 10:52:53 · 1544 阅读 · 0 评论 -
虚函数调用的几种方式
虚函数调用的几种方式/* * 虚函数的三种调用 * 1: 指针 * 2: 引用 * 3: 对象(不能实现多态) */#include <iostream>//继承,默认情况下class是私有继承 struct默认是公有继承//虚函数可以调用成员函数//多态调用依赖于指针 或 引用调用//对象的调用有副本机制,会调用拷贝构造 拷贝一个父类 无法实现多态/...转载 2019-03-16 18:46:15 · 2811 阅读 · 0 评论 -
静态联编和动态联编
关于 动态联编 和 静态联编 这个概念,自己听了老师上课讲的课仍然没有明白原理。那么既然这样,只能自己去学习了。首先我们知道的是,动态联编 和 静态联编 都是多态性的一种体现。关于面向对象的三个基本要素:封装(类型抽象), 继承 和 多态。首先我们从概念性上面了解了 动态联编 和 静态联编 的功能:实现了多态性。然后我们从最最基本的开始讲解。1.什么是 联编?我参考了下...转载 2019-03-16 18:25:03 · 586 阅读 · 0 评论 -
typedef和#define的用法与区别
一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;typedef int ARRAY[10];typedef (int*) pINT;typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直...转载 2019-03-10 21:10:21 · 124 阅读 · 0 评论 -
C语言中的编译模式
编译模式是指如何在内存中放置程序代码及数据,如何分配堆栈,并确认占用的内存大小及如何存取它们,当指定内存模式(编译模式)以后,语言编译程序将按事先选择好的内存模式编译组织程序。C 语言中提供了6种编译模式,这6种模式是:微模式(Tiny),小模式(Small),中模式(Medium),紧凑模式(Compact),大模式(Large)和巨模式(Huge)。用户可以按照自己的程序大小及需要进行选择。...原创 2019-03-10 20:36:10 · 748 阅读 · 0 评论 -
C语言算符优先级
C语言优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[整型表达式] 左到右 () ...原创 2019-03-08 18:54:47 · 258 阅读 · 0 评论 -
C语言中extern、register、statiC、auto的区别
变量和函数的属性包括数据类型和数据的存储类别,存储类别指数据在内存中存储方式(静态和动态),包含auto,static,register,extern四种。内存中。具体点来说内存分为三块:静态区,堆区,栈区。外部变量和全局变量存放在静态区,局部变量存放在栈区,动态开辟的内存存在堆区。一、简要性比较extern 外部变量声明,是指这是一个已在别的地方定义过的对象,这里只是对变量的...转载 2019-03-13 18:32:20 · 1744 阅读 · 0 评论