
C语言之路
文章平均质量分 69
后脑勺
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于C++内存越界访问的问题
今天是第一天写博客,哈哈,想想还有点激动,啦啦。言归正传啊,今天主要是说C基础里的strcat函数,它的意思主要是进行字符的拼接,例如: 来自http://blog.youkuaiyun.com/cnctloveyu/article/details/4057206 函数名: strcat 功 能: 字符串拼接函数 用 法: char *strcat(char *destin, cha原创 2015-11-12 10:18:18 · 2263 阅读 · 0 评论 -
归并排序
归并排序是利用递归和分而治之的技术将数据序列划分成为越来越小的半子表,再对半子表排序,最后再用递归步骤将排好序的半子表合并成为越来越大的有序序列,归并排序包括两个步骤,分别为: 1)划分子表 2)合并半子表 首先我们来讨论归并算法,归并算法将一系列数据放到一个向量中,索引范围为[first,last],这个序列由两个排好序的子表构成,以索引终点(mid)为转载 2016-08-15 16:16:44 · 414 阅读 · 0 评论 -
malloc、calloc、realloc的区别
(1)C语言跟内存分配方式从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量、static变量.在栈上创建 在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放.栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限.从堆上分配,亦称动态转载 2016-08-29 18:10:35 · 489 阅读 · 0 评论 -
原码, 反码, 补码 详解
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助! 一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式转载 2016-08-09 13:46:41 · 441 阅读 · 0 评论 -
C 各种排序(选择/冒泡/快速/插入/希尔/归并/堆)
1.稳定性比较插入排序、冒泡排序、二叉树排序、二路归并排序及其他线形排序是稳定的选择排序、希尔排序、快速排序、堆排序是不稳定的2.时间复杂性比较插入排序、冒泡排序、选择排序的时间复杂性为O(n2)其它非线形排序的时间复杂性为O(nlog2n)线形排序的时间复杂性为O(n);3.辅助空间的比较线形排序、二路归并排序的辅助空间为O(n),原创 2016-08-23 20:12:12 · 1427 阅读 · 0 评论 -
图文并茂用地址分析双向链表
网上很多对双向链表解释的文章都是用这个结构: 它们的连接情况是这样的: 相当的不直观,今天我要从详细的地址出发来解释双向链表的原理。 现定义一个结构体如下:struct student{char name;struct student *next;struct student *prior;};转载 2016-08-24 16:09:54 · 407 阅读 · 0 评论 -
C++STL之string
在学习c++STL中的string,在这里做个笔记,以供自己以后翻阅和初学者参考。1:string对象的定义和初始化以及读写string s1; 默认构造函数,s1为空串string s2(s1); 将s2初始化为s1的一个副本string s3("valuee"); 将s3初始化一个字符串面值副本string s4(n,'c'); 将转载 2016-08-24 20:42:35 · 325 阅读 · 0 评论 -
数据结构之队列(C实现)
一、队列是什么 队列是一种可以实现“先进先出”的存储结构。其实,说简单点,队列就是排队,跟我们日常生活中到银行取钱排队,排队打饭在道理上是一样的。 队列通常可以分为两种类型: ①链式队列(由链表实现)。 ②静态队列(由数组实现),静态队列通常都必须是循环队列。 由于链式队列跟链表差不多,所以在这里只针对循环队列来说明并实践。转载 2016-08-14 15:34:29 · 7797 阅读 · 0 评论 -
c++中string类的详解
通过在网站上的资料搜集,得到了很多关于string类用法的文档,通过对这些资料的整理和加入一些自己的代码,就得出了一份比较完整的关于string类函数有哪些和怎样用的文档了!下面先罗列出string类的函数有哪一些,然后再罗列出函数的原型,最后到代码的实现标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。现将具体用法的一部分罗列如下,只起一个抛砖转载 2016-09-05 16:48:06 · 695 阅读 · 0 评论 -
C++ 模板
摘自:http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.htmlC++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板;转载 2016-09-23 16:24:21 · 459 阅读 · 0 评论 -
c++ stl栈容器stack的pop(),push()等用法介绍及头文件
c++ stl栈stack介绍C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。c++ stl栈stack的头文件为: #include c++ stl栈stack的成员函数介绍操作 比较和分配堆栈empty() 堆栈为空则返回真pop() 移除栈顶元素push() 在栈顶增加元转载 2016-07-29 17:22:18 · 75153 阅读 · 0 评论 -
C++ stl队列Queue用法介绍:删除,插入等操作代码举例
C++队列queue模板类的定义在头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。 C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。C++队列Queue类成员函数如下:back()返回最后一个元素empty()如果队列空则返回真fr转载 2016-07-29 17:28:01 · 45412 阅读 · 0 评论 -
C++(虚)继承类的内存占用大小
首先,平时所声明的类只是一种类型定义,它本身是没有大小可言的。 因此,如果用sizeof运算符对一个类型名操作,那得到的是具有该类型实体的大小。计算一个类对象的大小时的规律:1、空类、单一继承的空类、多重继承的空类所占空间大小为:1(字节,下同);2、一个类中,虚函数本身、成员函数(包括静态与非静态)和静态数据成员都是不占用类对象的存储空间的;3、因此一个对象的大小转载 2016-07-19 17:21:25 · 3506 阅读 · 1 评论 -
c语言中出现左操作数必须是左值(摘抄)
http://blog.163.com/zhangjun516@126/blog/static/164345335201282894854960/在做c语言联系的时候,总是会出现左操作数必须是左值,左值就是在赋值中可以放在赋值操作符两边的值,比如: int a = 1; double b = 2.0 a = b; b = a; 这里a和b都是左值,一切变量都是左值,转载 2016-05-20 19:26:53 · 20795 阅读 · 0 评论 -
C语言数组与指针详解
++++++++++++++++++++++++++++++++++++++++++本文系本站原创,欢迎转载! 转载请注明出处:http://blog.youkuaiyun.com/mr_raptor/article/details/6844691++++++++++++++++++++++++++++++++++++++++++ 好多同学都说:“老师,我看到指针就晕!”转载 2016-06-27 13:35:58 · 548 阅读 · 0 评论 -
对于拷贝构造函数和赋值构造函数的理解
昨天晚上在看智能指针的时候,我发现自己连一个拷贝构造函数和赋值构造函数都写不出来,自己就尝试写了一个版本,结果发现错误百出,对于拷贝构造函数和赋值构造函数的理解仅仅停留在理论的方面,而不知其中太多的内涵。比如我们都知道拷贝构造函数和赋值构造函数最大的不同在于: 拷贝构造是确确实实构造一个新的对象,并给新对象的私有成员赋上参数对象的私有成员的值,新构造的对象和参数对象地址是不转载 2016-07-22 22:13:46 · 391 阅读 · 0 评论 -
时间复杂度和空间复杂度详解
文章来自 http://blog.youkuaiyun.com/booirror/article/details/7707551算法的时间复杂度和空间复杂度合称为算法的复杂度。1.时间复杂度(1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可转载 2016-07-12 16:11:43 · 620 阅读 · 0 评论 -
static、const和static const
本文转载自http://hi.baidu.com/sytarchen/item/c7cc767968b5ee3471442342 const定义的常量在函数执行之后其空间会被释放,而static定义的静态常量在函数执行后不会被释放其空间。static 表示的是静态的。类的静态成员函数,成员变量是和类相关的,不是和类的具体对象相关,即使没有具体的对象,也能调用类的转载 2016-07-13 00:02:46 · 2760 阅读 · 0 评论 -
C语言单链表实现11个功能完全详解
#include "stdafx.h"#include "stdio.h"#include #include "string.h" typedef int elemType ; /************************************************************************//* 以下是关于线性表链接存储(单转载 2016-07-26 13:23:10 · 1873 阅读 · 0 评论 -
C语言实现二叉树的基本操作---创建、遍历、求深度、求叶子结点
#include #include #include typedef int ElemType; //数据类型//定义二叉树结构,与单链表相似,多了一个右孩子结点typedef struct BiTNode{ElemType data; //数据域struct BiTNode*lChild, *rChlid;//左右子树域}BiTNode转载 2016-07-26 16:54:49 · 21736 阅读 · 6 评论 -
关于指针的思考
前两天在网上看了一道关于指针的题,对于我这种,看到指针就蒙圈的人来说,挺有意思,下面就这道题,咱好好看看。#include voidf(char**p){ *p +=2;}main(){ char*a[] = {"123","abc","456"},**p; p = a;原创 2016-07-16 01:59:54 · 744 阅读 · 0 评论 -
栈的操作
数据结构中的栈是什么举一个简单的例子:在往箱子里面放衣物的时候,放在最上面的衣物总是我们最后放上去的;而当我们从箱子里取出衣物的时候,总是最先拿出上面的。这就是现实生活中的栈。准确的讲,栈就是一种可以实现“先进后出(或者叫后进先出)”的存储结构。学过数据结构的人都知道:栈可以用两种方式来实现,一种方法是用数组实现栈,这种栈成为静态栈;另外一种方法是用链表实现栈,这种栈叫做动转载 2016-07-27 14:26:49 · 489 阅读 · 0 评论 -
关于函数的多态,与继承,以及相关的名词
一、扫盲下面这几个名词我以前是懵逼的,直到最近认认真真的看了下,才明白,哈哈,写在这吧。1.继承: 子类拥有了父类的public财产(私有成员其实也有,但是访问不了),通过子类调用函数时,编译器先在子类中找相应的函数,找不到的话再去父类找; 1.1派生:一句话概括:子类继承了父类,父类派生了子类。2.多态:多态是指使用相同的函数名来访问函数不同的实现方法,即“一种接口,多种原创 2016-07-19 17:19:43 · 1647 阅读 · 0 评论 -
OpenCV Mat读取和显示图片
一、从文件读取图像并显示1. 程序在基于VS2013搭建OpenCV开发环境这篇文章的最后给出了一个简单的Demo,这个例子跟本篇使用的例子是一样的。打开C++ IDE并创建一个新的项目,新建一个源文件,粘贴下面的代码:1234567891011121转载 2016-11-04 09:47:02 · 90749 阅读 · 3 评论