自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(141)
  • 资源 (4)
  • 收藏
  • 关注

转载 软件业职位总结--开发类

需求分析师    在确定项目后需求分析师和客户进行深入和细致的沟通。理解业务和客户在他们中业务中用到交互方式;还需要理解这个项目中牵涉到的各种利益相关人员,要充分的从他们的想法中得到规范的业务需求。重要的是深入的理解业务需求,梳理出需求的各个功能点,每个功能的业务性质,另外还需要挖据出系统的非功能性需求。因为客户并不懂软件专业,他们的口述完全是对未来系统的模糊想法,有些客户可能前后描述的需

2013-10-18 19:19:43 787

转载 C/C++中的函数参数传递机制

一、 函数参数传递机制的基本理论  函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。以下讨论称调用其他函数的函数为主调函数,被调用的函数为被调函数。  值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的

2013-10-18 19:10:33 1250

转载 C中内存分配的方式

在C 中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 一.简介:1.栈,就是那些由编译器在需要的时候分配,在无需的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。  2.堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程式去控制,一般一个new就要对应一个delete。假如程式员没有释放掉,那么在程式结束后,操作

2013-10-18 18:53:24 766

转载 sizeof与strlen详解

一、sizeof的概念  sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 1.sizeof的使用方法  1) 用于数据类型   sizeof使用形式:sizeof(type)   数据类型必须用括号括住。如

2013-10-18 18:52:28 735

转载 指针与数组的区别和联系

一.指针与数组的联系:指针与数组是C语言中很重要的两个概念,它们之间有着密切的关系,利用这种关系,可以增强处理数组的灵活性,加快运行速度,本文着重讨论指针与数组之间的联系及在编程中的应用。1.指针与数组的关系  当一个指针变量被初始化成数组名时,就说该指针变量指向了数组。如:  char str[20], *ptr;  ptr=str;  ptr被置为数组str的第一个元素

2013-10-18 17:56:20 1037

转载 浅谈内存泄漏

对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,但是它的使用似乎并不广泛,而且它也不能解决所有的问题;Garbage Collection技术在Java中已经比较成熟

2013-10-18 17:55:04 641

转载 常见的预处理命令及功能

1.常见的预处理功能:    预处理器的主要作用就是把通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有:文件包含,条件编译、布局控制和宏替换4种。    文件包含:#include 是一种最为常见的预处理,主要是做为文件的引用组合源程序正文。    条件编译:#if,#ifndef,#ifdef,#endif,#undef等也是比较常见的预处理,主要是进行编译时进行有选择的

2013-10-18 17:50:26 2882

原创 c/c++中内存划分

一、 在c中分为这几个存储区    1.栈 - 由编译器自动分配释放    2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收    3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放    4.另外还有一个专门放常量的地方。- 程序结束

2013-10-18 17:48:44 683

原创 typedef与typedef struct用法详解

typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观,意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性。本文下面将竭尽全力来揭示 typedef 强大功能以及如何避免一些常见的陷阱。1. 定义易于记忆的类型名typedef 使用最多的地方是创建易于记

2013-10-18 17:16:49 1313

转载 指针数组与数组指针

数组指针--指向数组的指针,是一个指针,其指向的类型是数组;指针数组--元素为指针的数组,是一个数组,其中的元素为指针1.指针数组数组名本身就是一个指针,指向数组的首地址。注意这是声明定长数组时,其数组名指向的数组首地址是常量。而声明数组并使某个指针指向其值指向某个数组的地址(不一定是首地址),指针取值可以改变。指针数组是多个指针组成了数组 int *p[4]; //它是四

2013-10-18 17:05:53 658

转载 C中static的常见作用

C程序一直由下列部分组成:  1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令;     2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。     3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。      4)栈——增长方向:自顶向下增长;自动变量以及每次函数调用

2013-10-18 16:55:56 575

转载 C语言预处理命令总结大全

C程序的源代码中可包括各种编译指令,这些指令称为预处理命令。虽然它们实际上不是C语言的一部分,但却扩展了C程序设计的环境。本节将介绍如何应用预处理程序和注释简化程序开发过程,并提高程序的可读性。ANSI标准定义的C语言预处理程序包括下列命令:#define,#error,#include,#if,#else,#elif,#endif,#ifdef,#ifndef,#undef,#line,#p

2013-10-18 16:49:16 720

转载 #define用法详解

1.#define 的作用  在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。  在C或C++语言中,“宏”分为有参数和无参数两种。2. 无参宏定义  无

2013-10-18 16:19:07 704

原创 进程和线程以及区别

1.进程和线程1.1 概述:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.一个

2013-10-18 15:39:30 731

转载 判断大小端

int i=1;       char *p=(char *)&i;       if(*p==1)                printf("1");      else           printf("2");          大小端存储问题,如果小端方式中(i占至少两个字节的长度)则i所分配的内存最小地址那个字节中就存着1,其他字节是0.大端的话则1在i

2013-09-23 17:36:23 589

转载 面试困惑问与答(4)——最后该问什么?

http://blog.csdn.net/cadcisdhht/article/details/6361393问:每次面试的时候,面试官都会问我有没有什么问题要问他。我可以问什么问题呢?答:面试官让应聘者问问题,主要是想了解应聘者最关心的问题有哪些。因此,首先至少要问一两个问题。不然面试官就会觉得你对我们公司、职位等都不感兴趣,那你来面试做什么?但是也不是什么问题都可以在这个时候问。如

2013-08-22 10:49:26 658

转载 面试困惑问与答(3)——题目没弄懂,可以问面试官吗?

http://blog.csdn.net/cadcisdhht/article/details/6264274问:面试的时候,面试官突然冒出一个之前没有听过的概念,请问我可以问面试官让他把题目说清楚吗?如果问的话他会不会觉得我很傻?答:面试和笔试最大的区别是:面试是一个注重沟通交流的过程,而且沟通是双向的。因此面试官可以问应聘者问题,同样应聘者也可以问面试官问题。         

2013-08-22 10:48:08 676

转载 面试困惑问与答(2)——感觉挺好,为啥被拒了?

http://blog.csdn.net/cadcisdhht/article/details/6197041问:技术面试的时候,题目挺简单的,我觉得自己都做出来了。可最后怎么还是被拒了啊?答:面试被拒有很多种可能,比如面试官认为你性格不适合、态度不够诚恳等等。但在技术面试过程中,这些都不是最重要的。技术面试的面试官一般都是程序员,程序员通常没有那么多花花肠子,他们只认一个理:题目做对

2013-08-22 10:46:08 762

转载 字符串数字从小到大输出

华为面试时,面试官出的一道题,将一个随机的整数转换成一个按各位上数值大小排序的整数,例如整数2541转换成1245,随机整数521368转换成123568,用C语言编程来实现,要求不能使用一步到位的库函数.[cpp] view plaincopy#include   void func(char *str)  {      if(NULL == str)      

2013-08-20 22:06:37 775

转载 找出一堆数据中最小的K个数问题

题目:输入n个整数,输出其中最小的k个。例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。分析:这道题最简单的思路莫过于把输入的n个整数排序,这样排在最前面的k个数就是最小的k个数。只是这种思路的时间复杂度为O(nlogn)。我们试着寻找更快的解决思路。我们可以开辟一个长度为k的数组。每次从输入的n个整数中读入一个数。如果数组中已经插入的元

2013-08-20 21:23:35 931

转载 define和inline 的区别

define:定义预编译时处理的宏;  只进行简单的字符替换,无类型检测typedef:定义类型别名 用于处理复杂类型  例: typedef int A;  则:A a; //定义a为intinline: 内联函数对编译器提出建议,是否进行宏替换,编译器有权拒绝  既为提出申请,不一定会成功 static一、产生背景引出原因:函数内

2013-08-20 21:09:22 622

转载 delete []是如何得知数组个数的

通常在delete[]一个数组时,编译器要按顺序作如下两件事情:  1. 对每个数组元素调用析构函数  2. 释放对象数组所占内存 注意这是彼此独立的两步. 在第2步.编译器只需简单地把数组首地址告诉操作系统,操作系统内部有内存申请情况的记录(每个申请内存段的首地址,长度,etc..),因此会正确地释放掉内存.注意整个数组所占内存是一次释放掉的,而不是每个元素释放一次.

2013-08-20 21:05:35 709

转载 拷贝构造函数

拷贝构造函数作用及用途?什么时候需要自定义拷贝构造函数?也许很多C++的初学者都知道什么是构造函数,但是对复制构造函数(copy constructor)却还很陌生。对于我来说,在写代码的时候能用得上复制构造函数的机会并不多,不过这并不说明复制构造函数没什么用,其实复制构造函数能解决一些我们常常会忽略的问题。       为了说明复制构造函数作用,我先说说我们在编程时会遇到的一些问

2013-08-20 20:48:59 580

转载 C++异常机制

异常就是运行时出现出现的不正常(没说一样),例如系统运行时耗尽了内存或遇到意外的非法输入。C++的异常处理中,需要由问题检测部分抛出一个对象给处理代码,通过这个对象的类型和内容,两个部分能够就出现了什么错误进行通信。C++的异常处理机制包括:throw表达式,错误检测部分使用这种表达式来说明遇到了不可处理的错误,可以说throw引发(raise)了异常。try块(try block),

2013-08-20 20:39:47 591

转载 c++中类型转换机制

http://blog.csdn.net/tianmo2010/article/details/8706495类型转换机制:可以分为隐式类型转换和显示类型转换,显示类型转换也称为强制类型转换(cast),有四种名字命名的强制类型转换操作符:static_cast、dynamic_cast、const_cast、reinterpret_cast。隐式的类型转换比较常见,在混合的类

2013-08-20 20:34:53 581

转载 构造函数调用虚函数

blog.csdn.net/tianmo2010/article/details/8706209构造函数可以调用虚函数吗?语法上通过吗?语义上可以通过吗?C++是不允许虚构造函数。测试代码:[cpp] view plaincopyclass A   {   public:           virtual A()          {       

2013-08-20 20:33:27 905

转载 构造函数失败

什么函数都有可能失败,构造函数也不另外,比如new一个对象或空间不成功。当构造函数失败的时候,其实很多时候我们不想这个对象被继续生成,这个时候就可以在构造函数里面抛出异常。C++规定构造函数抛出异常之后,对象将不被创建,析构函数也不会被执行,但已经创建成功的部分(比如一个类成员变量)会被部分逆序析构,不会产生内存泄漏。但有些资源需要在抛出异常前自己清理掉,比如打开成功的一个文件,最好关闭掉再抛出异

2013-08-20 20:24:49 547

转载 不能在析构函数里面抛出异常

从语法上面讲,析构函数抛出异常是可以的,C++并没有禁止析构函数引发异常,但是C++不推荐这一做法,从析构函数中抛出异常是及其危险的。析构函数可能在对象正常结束生命周期时调用,也可能在有异常发生时从函数堆栈清理时调用。前一种情况抛出异常不会有无法预料的结果,可以正常捕获;但后一种情况下,因为函数发生了异常而导致函数的局部变量的析构函数被调用,析构函数又抛出异常,本来局部对象抛出的异常应该是

2013-08-20 20:14:51 890

转载 程序员笔试知识点整理

0、常考基础必知必会A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法;B. 查找:哈希查找、二叉树查找、折半查找的对比,哈希映射和哈希表的区别?C. 链表和数组的区别,在什么情况下用链表什么情况下用数组?D. 栈和队列的区别?E. 多态,举例说明;overload和override的区别?F. 字符串有关的函数,比如让你写一个拷贝

2013-08-20 11:05:04 1918

转载 C/C++中几个宏的总结

有人视宏为洪水猛兽,甚至要求完全从C/C++中摒弃,有人则认为宏为至尊宝典,在逻辑代码中都大量使用。个人认为这是个仁者见仁智者见智的问题,摒弃就没必要了,看看宏在MFC和ATL中的一些经典应用,你会发现如果不使用宏来实现一些消息映射和对象映射神马的那将让“苦逼”程序员多花费多少宝贵的时间。当然也不能滥用,尤其是尽量不要在逻辑代码中使用,宏中的逻辑出问题后,调试时候的痛苦你就真的会发现原来程序员真的

2013-08-19 22:51:32 546

转载 C++面试资料之问答题集合(找工作复习)

1.在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?答:首先,extern是C/C++语言中表明函数和全局变量作用范围的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。extern "C"是连接申明(linkage declaration)

2013-08-19 22:38:03 735

转载 路由器和交换机的区别

交换机是一种基于MAC(网卡的硬件地址)识别,能完成封装转发数据包功能的网络设备。交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。交换机主要是组成局域网,例如一个公司网络的搭建一般是使用交换机的,交换机不能转发数据包,也没有路由到目的地址.现在交换机也分为二层交换机和三层交换机,三层交换机具有

2013-08-19 22:17:44 511

转载 常见指针内存处理问题的详解

http://blog.csdn.net/tianmo2010/article/details/6785912常见的 指针,内存操作问题[cpp] view plaincopyvoid getMemory(char *p)    {             p = (char *)malloc(100);    }

2013-08-19 21:56:20 665

转载 已排好序的整形数组的整合

例如已知数组a前半部分a[0,mid - 1],后半部分a[mid,num-1],现前半部分和后半部分均已排好序。要求:实现a数组的从小到大排序。空间复杂度为O(1).(百度笔试)[cpp] view plaincopy#include     void MergeIntData(int *a, const unsigned 

2013-08-19 21:42:28 605

转载 虚函数

虚函数是在类中被声明为virtual的成员函数,当编译器看到通过指针或引用调用此类函数时,对其执行晚绑定,即通过指针(或引用)指向的类的类型信息来决定该函数是哪个类的。通常此类指针或引用都声明为基类的,它可以指向基类或派生类的对象。 多态指同一个方法根据其所属的不同对象可以有不同的行为(根据自己理解,不知这么说是否严谨)。 举个例子说明虚函数、多态、早绑定和晚绑定:  李氏两兄妹(

2013-08-19 21:36:28 653

转载 C++虚函数的原理及实现

虚函数是在类中被声明为virtual的成员函数,当编译器看到通过指针或引用调用此类函数时,对其执行晚绑定,即通过指针(或引用)指向的类的类型信息来决定该函数是哪个类的。通常此类指针或引用都声明为基类的,它可以指向基类或派生类的对象。 多态指同一个方法根据其所属的不同对象可以有不同的行为(根据自己理解,不知这么说是否严谨)。 举个例子说明虚函数、多态、早绑定和晚绑定:  李氏两兄妹(

2013-08-19 20:11:55 645

转载 华为C语言笔试题集合

①华为笔试题搜集1.static有什么用途?(请至少说明两种)    1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。    2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。    3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在

2013-08-19 19:53:36 1110

转载 TCP协议连接过程详解

1、建立连接协议(三次握手)     (1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1.    (2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。    (3) 客户必须再次回应服务段一个ACK报文,这是报文段

2013-08-19 16:56:06 597

转载 熟悉基本通信协议(5)应用层(高层)

第五、应用层知识框架.在本阶段应该掌握下边内容:(只是总结了精华部分)一、应用层协议的特点。  (1)每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。  (2)应用层的许多协议都是基于客户服务器方式。客户(client)和服务器(server)都是指通信

2013-08-19 16:55:02 2501

转载 熟悉基本通信协议(4)传输层

第四、(传输层的作用)传输层知识框架总体框架如下:(一)传输层完成的功能和任务(二)理解TCP的功能和工作过程(三)理解UDP的主要内容 详细介绍:一、传输层协议概述纲领(传输层由软件来实现,而数据链路层由软件和硬件共同实现)(一)从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层,传输层也叫运输层。

2013-08-19 16:54:18 855

嵌入式C语言面试题

嵌入式C语言学习资料,可供应聘嵌入式软件开发的毕业生作为参考资料。

2012-12-26

华为笔试题大全

华为笔试题大全,可供应聘通信行业的毕业生作为参考学习的资料,同时也可以丰富自己的知识。

2012-12-26

经典C语言测试题

众多知名企业招聘笔试题,可供应聘者学习,同时对C语言有更加深入的理解和学习

2012-12-26

电子设计大全,简单的电子制作

电子设计的应用简单的电子制作,从简单开始

2010-06-10

空空如也

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

TA关注的人

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