自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

转载 11款最棒的Linux数据恢复工具

无论你使用的是台式电脑还是笔记本,需要关注的重点之一都是如何保护好你的宝贵数据。因为总会有各种突发情况使你的系统崩溃,然后你要做的就是恢复数据。不管你怎么想,要是我失去了所有的数据却无法恢复的话,我会分分钟肢解了这台破电脑。不过幸好的是,现在市场上有不少的数据恢复工具,能帮助我们从系统的硬盘上恢复数据。如果你使用的是Linux操作系统,那么你一定想知道一旦硬盘崩溃的话又该如何保存和恢复数据

2016-12-29 22:25:51 446

转载 C++程序员学习发展方向分析和指导,学习参考!

我想,如果是打算走进C++编程的同志们,请好好看完这篇文章,或许,对你的发展有所启发。但是,不要企图在这里找到你自己发展的规划和指定好的发展航向和行程。看了这篇文章,能够收到启发,受到鼓舞,也就是本文的一个成功的地方了。如果能够切实的给你指导发展方向,那更是荣幸备至。但是,每个人的兴趣都不一样,所处的环境和条件也因人而异,所以,必定会有与你不完全符合的发展方向指导。正如马克思一样,本身是好的,但是

2016-12-28 23:06:53 478

转载 程序员面试

1、面向对象的特征有哪些方面   1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称

2016-12-27 22:07:17 1520

转载 图解Java中的参数传递

作者:本科IT人链接:https://zhuanlan.zhihu.com/p/24556934来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。今天做项目,发现了一个问题,当String作为参数传递的时候,在函数内部改变值对外部的变量值无影响,如下代码: public static void main(String[] args) {

2016-12-26 21:59:07 334

原创 整形转字符型算法

#include #include #define MAX_SIZE 1024void reverse_string(char *s1, int len){    int i;    char temp;    for(i = 0; i     {        temp = *(s1 + i);*(s1 + i) = *(s

2016-12-25 22:05:13 382

原创 单向循环链表,头插,尾插,中间插入,删除等功能

#include struct node{    int num;    struct node *next;};typedef struct node Node;typedef Node * Link;void creat_link(Link *head){    //*head = NULL;    *head = (Link

2016-12-24 22:48:42 556

原创 双向循环链表

#include #include struct node {    int num;    struct node *prior;    struct node *next;};typedef struct node Node;typedef Node * DLink;void create_d_link(DLink *he

2016-12-23 22:51:27 237

转载 科普丨程序员Apache开源社区进击之路

作者:ChangBittiger链接:https://zhuanlan.zhihu.com/p/24487169来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。与顶尖程序员交流合作进步有多快?自己的代码被上亿用户使用有多爽?面试时甩出一句『哦,我在Apache有个开源项目,你可以去瞧瞧』有多酷?作为一个有理想有情怀的程序员,还没有加入一

2016-12-22 21:52:34 1193

转载 c语言小游戏,推箱子

次游戏是个推箱子第一关最简单的小游戏 有详细注释,下面是做出来的游戏界面 游戏操作说明和功能说明:按wasd控制小人的上下左右移动。按 r 重新开始游戏游戏开始有操作介绍游戏结束有胜利提示游戏原理分析游戏开始时的星星个数 = 箱子在星星上的个数时 , 游戏胜利。按 r 键重新开始游戏, 我们需要定义一个量 map_1[8][8] 来保存游戏初始时的界

2016-12-21 22:06:07 1563 3

原创 嵌入式学习心得:关键字和宏定义

宏定义的作用:避免幻数,提高维护性,灵活。缺点在于傻瓜式替换定义变量的三种方式:define  const   enum宏函数和自定义函数优缺点;自定义函数效率低,宏函数代码实现简单而且频繁调用,编译时间换空间inline内敛函数;空间换执行时间,条件编译的作用:#ifdef 和 #ifndef: 防止头文件重复包含导致重复定义。关键字:regist

2016-12-20 22:45:56 622

原创 牛客网测试题总结

1.函数可以嵌套调用,但不可以嵌套定义2.可以使用宏定义来确定一个常量,宏定义不需要指定类型名,宏定义是一个符号名3.若有以下定义和语句:char s1[]="12345",*s2="1234"; printf("%d\n" ,strlen(strcpy(s1,s2)));则输出结果是51.  字符串最后以 ’ \0 ’ 结束。s

2016-12-19 10:20:05 2734

转载 const

为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下:  常变量:  const 类型说明符 变量名  常引用:  const 类型说明符 &引用名  常对象:  类名 const 对象名  常成员函数:  

2016-12-18 22:16:16 295

原创 位运算

位运算前面介绍的各种运算都是以字节作为最基本位进行的。 但在很多系统程序中常要求在位(bit)一级进行运算或处理。C语言提供了位运算的功能,这使得C语言也能像汇编语言一样用来编写系统程序。 位运算符C语言提供了六种位运算符:& 按位与| 按位或^ 按位异或~ 取反>> 右移按位与运算按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只

2016-12-17 22:18:30 399

转载 c ide开发工具

1)Best IDE for C/C++ –  kDevelopKdevelop是一个专为C/C++及其他语言的开源扩展插件IDE。它基于KDevPlatform平台,这是一款可用于IDE基础开源库。2)  Best IDE for C/C++ –  AnjutaAnjuta Devstudio是另外一款强大的开发工具,拥有先进的编程

2016-12-16 22:30:13 757

转载 Java多线程知识

本文主要整理博主遇到的Java多线程的相关知识点,适合速记,故命名为“小抄集”。本文没有特别重点,每一项针对一个多线程知识做一个概要性总结,也有一些会带一点例子,习题方便理解和记忆。27. ConcurrentHashMapConcurrentHashMap是线程安全的HashMap,内部采用分段锁来实现,默认初始容量为16,装载因子为0.75f,分段16,每个段的HashEntr

2016-12-15 22:22:05 584

转载 c++ 预定义

预处理器(Preprocessor)定义了读取源代码、对代码预先翻译以及编写供编译器读取的新代码的过程。预处理先于编译器对源代码进行处理。  C/C++语言没有内置工具在编译时间包含其他源文件、宏定义,或根据条件包含或排除一些代码行的编译时指令。预处理器提供了这些能力。虽然当前大多数编译器内部集成了预处理器,人们还是认为预处理独立于编译器的过程。预处理器读取源代码,查找预处理指令语句和宏调用,

2016-12-14 22:11:27 1531

转载 链表算法

1、给定单链表,检测是否有环。使用两个指针p1,p2从链表头开始遍历,p1每次前进一步,p2每次前进两步。如果p2到达链表尾部,说明无环,否则p1、p2必然会在某个时刻相遇(p1==p2),从而检测到链表中有环。2、如果单链表有环,找到环节点。第一步,先按照上一题让p1和p2相遇,则相遇的点必然在环里。假设链表起点到环节点距离为l,环节点到p1,p2相遇点的

2016-12-13 22:12:30 364

转载 常见性能优化策略的总结

本文要感谢我职级评定过程中的一位评委,他建议把之前所做的各种性能优化的案例和方案加以提炼、总结,以文档的形式沉淀下来,并在内部进行分享。力求达到如下效果:1. 形成可实践、可借鉴、可参考的各种性能优化的方案以及选型考虑点,同时配合具体的真实案例,其他人遇到相似问题时,不用从零开始。2. 有助于开阔视野,除了性能优化之外,也能提供通用的常见思路以及方案选型的考虑点,帮助大家培养在方案

2016-12-12 22:05:05 638

原创 华为编程规范:函数部分

¹ 6-1:对所调用函数的错误返回码要仔细、全面地处理。¹ 6-2:明确函数功能,精确(而不是近似)地实现函数设计。¹ 6-3:编写可重入函数时,应注意局部变量的使用(如编写C/C++语言的可重入函数时,应使用auto即缺省态局部变量或寄存器变量)。说明:编写C/C++语言的可重入函数时,不应使用static局部变量,否则必须经过特殊处理,才能使函数具有可重入性。¹ 6-4:编写可

2016-12-11 23:03:31 380

转载 链表

1.链表在C/C++里使用非常频繁, 因为它非常使用, 可作为天然的可变数组. push到末尾时对前面的链表项不影响. 反观C数组和std::vector, 一个是静态大小, 一个是增加多了会对之前的元素进行复制改写(线程非常不安全).2.通常创建链表都是有next这样的成员变量指向下一个项, 通过定义一个head,last来进行链表创建. 参考函数 TestLinkCreateStupi

2016-12-10 23:18:07 302

原创 嵌入式学习心得(十三)一些心得

传函数实参的两种情况:1.当只使用不修改实参变量对应空间的值,传实参变量名                     2.当既使用也修改实参变量的对应空间的值,传实参变量对应空间的地址函数的调用过程:1,通过函数名找到函数入口2,给形参分配空间3,传值4,执行函数体语句5,返回释放空间传出参数和传入参数传出参数:一个变量从函数中带出来的值传入参数:一个

2016-12-09 22:07:28 568

原创 typedef 和 函数指针 的使用

typedef的妙用  typedef给你一种方式来克服“*只适合于变量而不适合于类型”的弊端。你可以如下使用typedef:  typedef char * PCHAR;  PCHAR p,q;  这里的p和q都被声明为指针。(如果不使用typedef,q将被声明为一个char变量,这跟我们的第一眼感觉不太一致!)下面有一些使用typedef 的声明,

2016-12-08 22:21:01 316

转载 形参和实参

形式参数和实际参数函数的参数分为形参和实参两种。在本小节中,进一步介绍形参、实参的特点和两者的关系。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参的功能是作数据传送。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。函数的形参和实参具有以下特点:1.形参

2016-12-07 22:38:27 497 1

转载 函数指针

一、普通的函数指针一旦函数被编译并载入计算机中执行,它就会占用一块内存,这块内存有一个地址,因此函数也有地址。 1. 定义一个函数指针示例代码如下:void (*funcPtr)();这个例子将funcPtr定义为一个指向函数的指针,这个函数没有参数,返回值为空。注:*funcPtr 两侧的括号是必须的,如果去掉括号,    void

2016-12-06 22:16:18 293 1

原创 嵌入式学习心得(十二)关于一维二维指针的地址

指针的算数运算:指针+ -整数    考虑指针的步长                 指针-指针 (没有加法,只有减法)高地址  -  低地址 一维数组做形参,编译器当作元素指针即:传一维数组名用元素的指针来接     传二维数组名用一维数组指针来接 对数组名取地址 = 数组的地址,跳数组长度 数组a   一维数组的首元素的地址*(&a) =  

2016-12-05 22:07:12 256

转载 二维数组的解疑

多维数组地址的表示方法  设有整型二维数组a[3][4]如下:   0 1 2 3  4 5 6 7  8 9 10 11   设数组a的首地址为1000,各下标变量的首地址及其值如图所示。  在前面曾经介绍过, C语言允许把一个二维数组分解为多个一维数组来处理。因此数组a可分解为三个一维数组,即a[0],a[1],a[2]。每一个一维数组又含有四个元素。例如a[0]数组,

2016-12-04 22:54:09 415

原创 嵌入式学习心得(十一)

一。指针是什么?指针是一个变量。&取地址*(间接运算符)取值运算符,取指针变量对应空间保存的地址对应的内存空间的值二关于步长不同的地址长度是一样的,但是步长是不同的,而指针的步长则是指保存的地址类型。一维指针,是基本类型变量地址int num = 5;int *p;p = #int *p = #num++;对num对应的内存空间的值自

2016-12-03 22:29:37 322

转载 malloc实现原理

1. 简介   malloc()是C语言中动态存储管理的一组标准库函数之一。其作用是在内存的动态存储区中分配一个长度为size的连续空间。其参数是一个无符号整形数,返回值是一个指向所分配的连续存储域的起始地址的指针。还有一点必须注意的是,当函数未能成功分配存储空间(如内存不足 )就会返回一个NULL指针。所以在调用该函数时应该检测返回值是否为NULL并执行相应的操作。   2. 函数说明 

2016-12-02 22:37:17 351

转载 数组

数组是具有一定顺序关系的若干对象的集合体,组成数组的对象称为该数组的元素。数组可以由除void以外的任何类型构成。       数组名是一个指向数组第一个元素的指针常量,其自身的值不能更改。数组定义时,不能用另外一个已定义的数组的数组名进行初始化。如:Int a[3]= {0};Int b[3]= a;                //error      数

2016-12-01 22:22:51 473

空空如也

空空如也

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

TA关注的人

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