![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++/数据结构与算法
文章平均质量分 91
lin111000713
这个作者很懒,什么都没留下…
展开
-
Time and Space Complexity of Recursive Algorithms
Algorithm/InsightsFibonacci Sequence: In the below screenshot, you can see that the function 'fibonacci(int n)' computes n'th number of fibonacci sequence. The fibonacci sequence is 0,1,1,2,3,5,转载 2017-06-25 16:00:39 · 583 阅读 · 0 评论 -
C语言实现有限状态机
以下是转载内容:☆─────────────────────────传说中的分隔符───────────────────────────────────────☆来源1:http://www.cnblogs.com/swingboat/archive/2005/07/27/201488.html【转载1】有限状态机的实现 有限状态机(Finite State Machine或者转载 2014-09-11 14:36:17 · 733 阅读 · 0 评论 -
float和int相互转换
直接强制将float强制转换成int;最后一位丢失精度则 +0.5处理转:http://blog.csdn.net/slshelly/article/details/7260284串行通讯是以字节为单位进行传送的,对于浮点数和整型数都需要进行转换字节数组才能进行通讯。MCU和PC的浮点数都是基于IEEE754格式的。有4字节(float)、8字节(d转载 2014-08-23 20:01:14 · 11967 阅读 · 1 评论 -
关于编译报错“dereferencing pointer to incomplete type...
发表于2年前(2012-07-20 17:02) 阅读(7828) | 评论(3) 0人收藏此文章, 我要收藏赞0今天同事问了我一个问题,他make的时候报错,“第201行:dereferencing pointer to incomplete type”,我随即查阅了很多资料,也没看出个所以然。最后问题得到了解决,也懂得了原理,遂记录一下。他的问题具体是这转载 2014-08-10 21:01:49 · 1008 阅读 · 0 评论 -
error: field `list' has incomplete type的解决!:) [复制链接] 00
【yud】本贴的目的是帮比我还菜的小鸟遇到这个问题好解决些,写完这个我想在google或者baidu上搜partitions.h:61: error: field `list' has incomplete type这样的关键字,应该能找到这贴了吧.我今天在编译linux2.6.14.2的内核的时候,遇到了这个问题,但是在google和baidu上找,都是提转载 2014-08-10 21:08:44 · 9861 阅读 · 0 评论 -
什么是重定位?
【zuiha】6.1 存储器的基本概念 主存储器管理仍然是今天操作系统十分重要的内容;能否合理而有效的使用主存,在很大成度上反映了操作系统的性能,并直接影响到整个计算机系统作用的发挥。6.1.1 存储器的层次 目前在许多计算机系统中,采用三级存储器结构,即高速缓冲存储器、主存储器和外部存储器。三级存储器的比较 从高速缓存到外存,其容转载 2014-08-21 16:22:33 · 1268 阅读 · 0 评论 -
三层结构的确切定义
三层结构的确切定义【【多层jieg】】webform数据库winformorm存储asp.net(以下内容为转载,仅供参考,对多层架构感兴趣的朋友可以下载我写的FrameCountry架构看看,很实用的!)下载最新的FrameCountry数据访问层架构:http://blog.csdn.net/lizheng82/archive/2007/06/18/1656140.转载 2014-07-30 09:43:54 · 452 阅读 · 0 评论 -
结构体强制类型转换
在C语言中,结构体和int等类型一样,都是数据类型。其他类型怎么转换,结构体就怎么转换,没有什么特殊的地方。楼主可能想知道的不是结构体怎样强制转换这个问题吧,猜测,楼主想知道如下几个问题:如果将一个结构体强制类型转换为另一个结构体(或者类型),那这个结构体的成员会怎样了?如果将一个结构体强制类型转换为另一个结构体(或者类型),那么这个结构体成员的数值又会是什么了?解答:1、结构转载 2014-07-08 21:28:28 · 747 阅读 · 0 评论 -
结构体内的#define宏定义
结构体内的#define宏定义2010-12-18 23:29 1398人阅读 评论(2)收藏举报编译器gcc语言c关于宏的作用域1. 宏没有可见域。 如果说有,那就是从本文件(包括被包含的文件)中,该宏定义处开始,至文件的尾部或取消宏(#undef)为止。2. 考虑一种特殊情况: 一个宏定义,如果转载 2014-05-22 22:14:26 · 1677 阅读 · 0 评论 -
c实现面向对象
c实现面向对象分类: embedded system2012-10-31 17:03 1713人阅读 评论(0) 收藏 举报面向对象无非就是封装继承和多态封装:struct实现继承:指针实现,就是把父类包含在结构体中。多态:可以用指针实现。一般实现多态,父结构体必须是子结构体的第一个元素,这样就可以通过强制转换子类和父类随意转换。结构如:转载 2014-04-16 22:12:02 · 663 阅读 · 0 评论 -
typeof在kernel中的使用——C语言的“编译时多态”
大家都知道,C语言本身没有多态的概念,函数没有重载的概念。然而随着C语言编写的软件逐渐庞大,越来越多地需要引入一些其他语言中的特性,来帮助更高效地进行开发,Linux kernel是一个典型例子。在动态类型的语言里面,往往有typeof这种语法,来获取变量的数据类型,比如JavaScript当中,typeof以字符串型式返回了这个变量的数据类型,借由这种特性,往往可以根据传入参数的类型不同,产转载 2014-04-17 22:38:32 · 720 阅读 · 0 评论 -
C语言运算符优先级
C语言运算符优先级详细列表 运算符的优先级:C语言中,运算符的运算优先级共分为15级。1 级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。运算符的结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先转载 2014-02-20 09:19:11 · 1676 阅读 · 0 评论 -
static作用(修饰函数、局部变量、全局变量)
static函数与普通函数 2011-10-12 21:51:12| 分类: 程序员笔试面试|举报|字号 订阅全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个转载 2014-02-23 17:36:55 · 837 阅读 · 0 评论 -
循环队列判断满与空
何时队列为空?何时为满?由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时头尾指针均相等。因此,我们无法通过front=rear来判断队列“空”还是“满”。注:先进入的为‘头’,后进入的为‘尾’。解决此问题的方法至少有三种:其一是另设一个布尔变量以匹别队列的空和满;其二是少用一个元素的空间,约定入队前,测试尾指针在循环意义下加1后是否等于头指针,若相转载 2014-11-09 08:54:50 · 7561 阅读 · 0 评论 -
va_list
VA_LIST 是在C语言中解决变参问题的一组宏,所在头文件:#include 目录1概述2成员▪ 变量▪ 宏3用法4注意问题1概述编辑VA_LIST 是在C语言中解决变参问题的一组宏,所在头文件:#include 2成员编辑变量#ifde转载 2014-10-09 22:03:01 · 569 阅读 · 0 评论 -
不传递地址,改变外界变量的值
c语言里面传值可以改变传入参数的值:方法:宏实现curses原创 2014-10-12 12:04:46 · 1097 阅读 · 0 评论 -
二叉树恢复
一、已知二叉树的前序序列和中序序列,求解树。1、确定树的根节点。树根是当前树中所有元素在前序遍历中最先出现的元素。---》从前序遍历第一个元素入手。找到结合中序分成两半2、求解树的子树。找出根节点在中序遍历中的位置,根左边的所有元素就是左子树,根右边的所有元素就是右子树。若根节点左边或右边为空,则该方向子树为空;若根节点左边和右边都为空,则根节点已经为叶子节点。3、递归原创 2016-09-21 17:07:27 · 438 阅读 · 0 评论 -
数组的数组
int main() { int A[3][4] = { {1,2, 3,4}, {5,6, 7,8}, {9,10, 11,12} }; printf("%d\n", A[1][1]); // 结果:6 printf("%d\n", ((*(A+1))原创 2016-09-20 10:34:02 · 818 阅读 · 0 评论 -
Char (*(*x())[]) ()
This looks like an evil example straight from the 2nd edition of Kernighan and Ritchie (The C Programming Language), p. 122 (section 5.12: Complicated Declarations), where it is described as a functio原创 2016-09-20 10:25:33 · 1700 阅读 · 0 评论 -
首地址相加
int main() { int a[3][4] = {1,3,5, 7,9}; printf("%u\n", a); printf("%u\n", a+1);// 4个元素*每个元素4个字节=16 printf("%u\n", &a+1);// 12个元素*每个元素4个字节=48 /*结果:160641原创 2016-09-20 11:21:50 · 333 阅读 · 0 评论 -
移位操作题目
int main() { int a =1; int b =32; printf("%d, %d\n", a<<b,132); // 结果1,1 移位操作(32|31) }对于32位的int, 多数编译器能够一次最多处理31位的左移(通过利用或运算),因此对于"使用gcc编译时会提示大于width of typ原创 2016-09-20 11:11:52 · 361 阅读 · 0 评论 -
函数指针题目
用变量a给出下面的定义:一个有10个指针的数组,该指针指向一个函数,该函数有一个整形参数并返回一个整型数int *a[10];int (*a)[10];int (*a)(int);int (*a[10])(int);正确答案:D原创 2016-09-20 10:37:09 · 550 阅读 · 0 评论 -
64位os结构体占字节数
在64位操作系统上,如下数据结构占用的存储空间大小为多少字节123456structA{ unsigned inta; charb[2]; doublec; shortd;}转载 2016-09-20 10:06:47 · 630 阅读 · 0 评论 -
C++多态实现原理
当类中声明虚函数时,编译器会在类中生成一个虚函数表 虚函数表是一个存储类成员函数指针的数据结构 虚函数表是由编译器自动生成与维护的 virtual 成员函数会被编译器放入虚函数表中 存在虚函数时,每个对象中都有一个指向虚函数表的指针原创 2016-09-13 16:59:44 · 280 阅读 · 0 评论 -
二叉树遍历(递归、非递归、Morris遍历)
转载自:http://noalgo.info/832.html二叉树遍历是二叉树中最基本的问题,其实现的方法非常多,有简单粗暴但容易爆栈的递归算法,还有稍微高级的使用栈模拟递归的非递归算法,另外还有不用栈而且只需要常数空间和线性时间的神奇Morris遍历算法,本文将对这些算法进行讲解和实现。递归算法二叉树节点使用以下数据结构进行表示,包括关键字、左儿子、右儿子属性和转载 2016-08-22 22:40:19 · 365 阅读 · 0 评论 -
c++封装多线程类
/*内容:实现多线程类引入:1.经常需要在程序中启动一个或多个线程来处理任务,而如果每次都是去调用系统创建线程的API函数来创建,代码量虽不多,但线程的创建和业务逻辑代码就揉在一起了,2.创建多个线程的时候,有大量的重复代码,不便于维护。若我们把创建线程和销毁线程的这些共同的代码封装到一个类中,这样我们可以更专注业务逻辑的实现,在其它地方直接拿来用就行,程序也便于维护和扩展转载 2014-12-05 21:39:33 · 1007 阅读 · 0 评论 -
变长数组的灵活运用
变长数组的灵活运用【http://blog.csdn.net/johndiyang/article/details/1325550】【struct mytype{ int cnt; int data[0];//这个,是什么啊!0个元素的数组????编译器居然通过了!!!什么东西啊??};----------------------转载 2014-11-24 23:22:05 · 516 阅读 · 0 评论 -
【程序运行时找不到库文件】nginx: error while loading shared libraries: libpcre.so.1
【程序运行时候找不到库文件】19 Oct 2013 Written by Chandan Kumar Published in Nginx DISQUS_COMMENTS TweetinShareShare on Thumblr【解决办法转载 2014-11-29 17:56:47 · 1325 阅读 · 0 评论 -
在C语言中引入类
基于对象的程序设计的好处大家应该都有一定的体会,但是在 C 语言中并不支持类的概念,不过我们可以通过 struct 实现一些基础的类对象,如队列、堆栈等。通过对象的实现可以在一定程度上提高编程效率、简化 C程序设计。下面使用一个例子来介绍下如何在实现一个简单的类,希望对大家有些益处:/* 应用消息队列类 */struct AppQueue{ struct AppFra转载 2014-02-28 13:41:30 · 926 阅读 · 0 评论 -
(void) (&_x == &_y)
(void) (&_x == &_y)分类: 操作系统学习2011-12-18 17:02 780人阅读 评论(1) 收藏 举报编译器typesmacroslinux语言c【整理】min()的宏定义中的(void) (&_x == &_y)的含义转自:http://hi.baidu.com/serial_story/blog/item/b6fd81098b5转载 2014-02-21 11:02:01 · 607 阅读 · 0 评论 -
C++函数对象
C++函数对象分类: C/C++2007-08-05 14:46 6780人阅读 评论(7) 收藏 举报c++class标准库里的count_if可以统计容器中满足特定条件的元素的个数。例如要统计一个整数vector——ivec中正数的个数,可以先写一个返回类型为bool,含有一个int参数的条件函数:bool pred(int val){ ret转载 2014-01-13 10:53:58 · 615 阅读 · 2 评论 -
指针的引用
C++中指针的引用在下列函数声明中,为什么要同时使用*和&符号?以及什么场合使用这种声明方式? void func1( MYCLASS *&pBuildingElement ); 论坛中经常有人问到这样的问题。本文试图通过一些实际的指针使用经验来解释这个问题。 仔细看一下这种声明方式,确实有点让人迷惑。在某种意义上,"*"和"&"是意思相对的两个转载 2013-12-04 09:05:48 · 459 阅读 · 0 评论 -
C和C++相互调用 2011-11-01 18:42:29
C和C++相互调用 2011-11-01 18:42:29分类: C/C++在项目中融合C和C++有时是不可避免的,在调用对方的功能函数的时候,或许会出现这样那样的问题。近来在主程序是C语言,而调用C++功能函数的时候,C++的*.h头文件都能找到,功能函数也都定义了,最重要的是,单独编译C++的时候完全没有问题,但当用主程序的C调用C++的功能函数转载 2013-12-09 18:26:33 · 708 阅读 · 0 评论 -
迭代器是什么
迭代器是什么分类: C/C++2010-05-07 16:06 1877人阅读 评论(4) 收藏 举报iteratorvectorlist算法insertclass 在学习c++ STL的时候,整天碰到迭代器,也整天用,但是,到底它是个什么东西,很多人没有一个认识。这里我通过几个小的DEMO,来看看迭代器。首先我实现了一个十分简陋的vector类:转载 2013-12-07 10:02:05 · 606 阅读 · 0 评论 -
解释型语言
解释型语言编辑计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(转载 2013-12-07 10:30:55 · 551 阅读 · 0 评论 -
什么是面向对象的设计思想?
什么是面向对象的设计思想?也许有不少初学者对这个概念还有许多不明白的地方,特别是这个处于新旧思想交替的时代,许多人刚刚学完现在看来是快要淘汰的只是面向过程的语言。他们的脑子还没有脱离面向过程思想的束缚,抬头却发现,“面向对象”早已经流行开来,这个陌生的词漫天飞舞。随便拿起一本流行计算机技术书籍,那里会没有“面向对象”的字眼!于是心中便惶惑了:什么叫“面向对象”?不感兴趣者,一带转载 2013-12-07 10:58:33 · 2734 阅读 · 0 评论 -
c++自定义String类
c++自定义String类2012-04-07 20:35 748人阅读 评论(2) 收藏 举报stringc++deleteosnull测试String.h头文件:[cpp] view plaincopyusing namespace std; class String{ public:转载 2013-11-29 17:35:36 · 745 阅读 · 0 评论 -
c++头文件iomanip.h中的setw、setprecision、setfill和setbase函数
[转]c++头文件iomanip.h中的setw、setprecision、setfill和setbase函数Posted on 2011-05-22 23:31 单鱼游弋 阅读(593) 评论(0) 编辑 收藏#include //不要用iostream.h ,会出现好多问题#include // io 流控制头文件,转载 2013-11-28 12:29:26 · 1780 阅读 · 0 评论 -
VS2005 编译Release版本出现清单文件的错误
VS2005 编译Release版本出现清单文件的错误fromhttp://hi.baidu.com/%B2%A4%B2%CB%B1%F9%B1%F9/blog/item/413473df49605118632798d5.html 错误为:mt.exe : general error c101008d: Failed to write the updated m转载 2013-11-27 12:30:24 · 729 阅读 · 0 评论 -
在编译的时候出现这个问题 LINK : 没有找到 C:\Users\...\transposeMatrix.exe 或上一个增量链接没有生成它;正在执行完全链接 我用的是VS2008
ypb362148418ypb362148418等级:#5 得分:5回复于: 2010-07-18 13:09:15这个不是什么错的,当前的VS2003,2005,2009有增量编译功能,就是假如你的代码改动了,他们是不完全重新编译整个代码的,而是只编译你所更改的部分。出现这个提示,1.你是首次进行编译,这时当然没有生成过可执行文件,也就无法增量链接了。转载 2013-11-27 10:08:53 · 2861 阅读 · 0 评论