c&c++
文章平均质量分 52
zhaoyue007101
这个作者很懒,什么都没留下…
展开
-
二分查找
int search2(int array[], int n, int v){ int left, right, middle; left = 0, right = n - 1; while (left { middle = (left + right) / 2; if (array[middle] > v)原创 2013-07-20 16:08:27 · 527 阅读 · 0 评论 -
测试端序
1 由来:大端序小端序原本是 《格列佛游记》中小人国一场争议而得来的,在小人国中,为了吃鸡蛋分为两派人,一派人建议从大头吃(称为big_endian),一拍人建议从小头吃(称为little_endian)。两派人各持己见,为此发起内战,还弄死了几个皇帝。呵呵,后来一个学者在他的论文中引用起来用来描述主机中多字节数据在 内存存储的顺序问题,命名为big_endian 和little_endi转载 2013-04-01 16:02:30 · 597 阅读 · 0 评论 -
中序遍历和先序遍历/后序遍历构建二叉树
1、问题给定二叉树的2个遍历序列(如先序+中序,先序+后序,中序+后序等),是否能够根据这2个遍历序列唯一确定二叉树?2、理论分析数据结构的基础知识中重要的一点就是能否根据两种不同遍历序列的组合(有三种:先序+中序,先序+后序,中序+后序),唯一的确定一棵二叉树。然后就是根据二叉树的不同遍历序列(先序、中序、后序),重构二叉树。显然,这三种组合并不是都能唯一确定转载 2013-03-28 21:08:32 · 810 阅读 · 0 评论 -
栈帧
http://blog.csdn.net/yxysdcl/article/details/5569351首先应该明白,栈是从高地址向低地址延伸的。每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息。寄存器ebp指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部(地址地)。下图为典型的存取器安排,观察栈在其中的位置 入栈操转载 2013-03-14 10:31:58 · 616 阅读 · 0 评论 -
c++ int转string
#include "stdafx.h"#include #include #include using namespace std;int main(){stringstream strStream;int a = 100;float f = 23.5566;strStream string s = strStream.str();cout sy原创 2013-02-23 15:39:05 · 404 阅读 · 0 评论 -
c++ string double 互转
string str = "123456"double dblValue = _atof(str);C++通过ostringstream实现任意类型转string2010年9月23日代码疯子再使用整型转string的时候感觉有点棘手,因为itoa不是标准C里面的,而且即便是有itoa,其他类型转string不是原创 2013-01-27 17:09:32 · 9655 阅读 · 1 评论 -
c++ split 分词函数
#include "stdafx.h"#include #include #include using namespace std;void split(const string& src, const string& separator, vector& dest){ string str = src; string substring; string::原创 2013-01-27 18:19:34 · 2002 阅读 · 0 评论 -
gcc g++ Linux下动态库_静态库
关于Unix静态库和动态库的分析基本概念库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。 例如:libhello.so libhello.a为了在同一系统中使用不同版本的库,可以在库文件名后加上版本号为后缀,例如: libhello.so.1.0,由于程序连接默认以.so为文件后缀名。所以为了使用这些库,通常使用建立符号连接的方式。ln -s libh原创 2013-01-25 11:49:05 · 370 阅读 · 0 评论 -
printf详解
int printf(const char *format,[argument]); format 参数输出的格式,定义格式为:%[flags][width][.perc][F|N|h|l]type 规定数据输出方式,具体如下: 1.type 含义如下: d 有符号10进制整数 i 有符号10进制整数 o 无符号原创 2012-12-14 21:41:30 · 536 阅读 · 0 评论 -
Linux下Kill的用法
[ KILL ]功能描述:用于向任何进程组或进程发送信号。头文件用法: 1 #include sys/types.h>2 3 #include signal.h>4 5 int kill(pid_t pid, int sig);6 7 参数: pid:可能选择有以下四种1. pid大于零时,pid是信号欲送原创 2012-08-27 17:24:18 · 523 阅读 · 0 评论 -
socket的select函数
原型int select(int nfds,fd_set* readfds,fd_set* writefds,fd_set* exceptfds,const struct timeval* timeout);nfds:本参数忽略,仅起到兼容作用。 readfds:(可选)指针,指向一组等待可读性检查的套接口。 writefds:(可选)指针,指向一组原创 2012-08-19 21:00:28 · 560 阅读 · 0 评论 -
实例 C语言Printf格式
使用printf打印时发现,如果数据类型和打印使用的类型不一致,结果就是混乱的。这是因为printf本身并不进行数据的类型转换,他只是把输入按照给定的数据格式输出,如果二者不匹配,那么由于不同数据类型的二进制存储方式不一样,读出的数据就是错误的。所以,为求稳妥,在使用printf,fprintf,scanf,fscanf在类型不一致时还是手动转化吧! printf(原创 2013-04-01 22:35:23 · 984 阅读 · 0 评论 -
虚函数
http://www.dzsc.com/data/html/2010-5-20/83289.html原创 2013-03-22 10:34:26 · 468 阅读 · 0 评论 -
select函数详解
http://blog.sina.com.cn/s/blog_5c8d13830100pwaf.html网络编程中一个很重要的函数,没有整理,直接转过来,讲的还是蛮详细的。转自:http://blog.csdn.net/zhw888888/archive/2009/03/29/4034515.aspx Select在Socket编程中还是比较重要的,可是对于初学S原创 2013-07-18 20:56:42 · 489 阅读 · 0 评论 -
typedef struct 和 struct
(1) struct{ int x; int y; }test1; 好,定义了 结构 test1,test1.x 和 test1.y 可以在语句里用了。第一个:只定义了一个test1的结构体变量,以后还想定义这种结构体的话,必须重写整个结构体。(2) struct test {int x; int y; }test1; 好,定义了 结构 test1,test1.x 和 test1.y 可以在转载 2013-05-04 13:45:39 · 478 阅读 · 0 评论 -
C++中虚函数工作原理和(虚)继承类的内存占用大小计算
一、虚函数的工作原理 虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为 vptr(virtual table pointer,虚函数表指针)的指针的形式。vptr 指向一个被称为 vtbl(virtual table,虚函数表)的函数指针数组,每一个包含虚函数的类都关联到 vtbl。当一个对象调用了虚函数,实际转载 2013-05-02 20:45:27 · 511 阅读 · 0 评论 -
类的sizeof
1、空类的sizeof是1。空类是指没有成员的类,类中的函数不占空间,除非是虚函数。如: class A { public: A(){} ~A(){} void fun(){}转载 2013-04-21 22:10:52 · 503 阅读 · 0 评论 -
C++拷贝构造函数详解
http://blog.csdn.net/lwbeyond/article/details/6202256原创 2013-04-21 14:29:39 · 594 阅读 · 0 评论 -
宝典
第五章http://blog.csdn.net/zhaoyue007101/article/details/8780079http://soft.chinabyte.com/database/354/12188854.shtmlint的二进制表示,负数的二进制表示x&(x-1)http://bbs.csdn.net/topics/80090368 x&(-x)pri原创 2013-04-10 14:58:10 · 573 阅读 · 0 评论 -
C语言中以十六进制输出字符型变量会出现'ffffff"的问题
博客分类: C,C++ 最近在做一个C的嵌入式项目,发现在C语言中用printf()函数打印字符型变量时,如果想采用"%x"的格式将字符型变量值以十六进制形式打印出来,会出现一个小问题,如下:C代码 char buf[10] = {0}; buf[0] = 0xbf; printf("%2x\n\n\n", buf[0]);原创 2013-04-02 13:55:59 · 3965 阅读 · 1 评论 -
C/C++变量在内存中的分布
http://blog.csdn.net/morewindows/article/details/6851681http://developer.51cto.com/art/201107/276154.htmhttp://blog.csdn.net/tangbin330/article/details/8629198http://blog.csdn.net/ha原创 2013-04-10 10:42:55 · 561 阅读 · 0 评论 -
c语言全局变量和局部变量问题及解决汇总
局部变量能否和全局变量重名如何引用一个已经定义过的全局变量全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如原创 2013-04-09 21:37:25 · 2781 阅读 · 1 评论 -
Linux 的多线程编程的高效开发经验
http://www.ibm.com/developerworks/cn/linux/l-cn-mthreadps/杨 奕 (yangyish@cn.ibm.com), 软件工程师, IBM贺 皓 (haohe@cn.ibm.com), 软件工程师, IBM张 俊伟 (zhjunwei@cn.ibm.com), 软件工程师, IBM简介:原创 2012-08-09 15:44:03 · 696 阅读 · 0 评论 -
linux 线程安全 mutex 锁的使用
由于之前写的本来说多进程,但是由于需要共享资源(也就是共享一些变量),虽然进程通过其他方法可以实现共享资源,但是还是觉得用线程比较好!所以改成多线程了,但是一直没有用mutex,出现了不少段错误。我觉得势必和资源共享有许多关系!本来线程安全 的 资源共享 我觉得 用个变量来控制就行,比如int lock_x=0;在线程中if(lock_x==1) uslee原创 2012-08-09 15:34:55 · 693 阅读 · 0 评论 -
C++:源文件与头文件有什么区别
C++的源代码文件分为两类:头文件(Header file)和源文件(Source code file)。头文件用于存放对类型定义、函数声明、全局变量声明等实体的声明,作为对外接口;而源程序文件存放类型的实现、函数体、全局变量定义.C++的源代码文件分为两类:头文件(Header file)和源文件(Source code file)。头文件用于存放对类型定义、函数声明、全局变量声明等实体转载 2012-07-13 14:23:32 · 4197 阅读 · 0 评论 -
没有public 默认是什么
C++ 里面, struct 默认是 public的, class 默认是 private 的原创 2012-06-29 21:03:15 · 1404 阅读 · 0 评论 -
继承中的private问题
c++和Java的继承中,private public以及protected如出一辙子类继承父类父类的private成员对子类不可见但是父类中的public成员对子类是可见的父类的public函数可以访问到父类的private成员原创 2012-06-29 20:12:04 · 483 阅读 · 0 评论 -
select函数
select系统调用是用来让我们的程序监视多个文件句柄(file descrīptor)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变。文件在句柄在代码都是从标准输入读入9个字节字符:#include #include #include int main(int argc, char ** argv){原创 2012-06-28 15:55:04 · 556 阅读 · 0 评论 -
g++编译 参数
GNU CC(简称gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++、Object C、Jave等多种语言编写的程序。gcc又可以作为交叉编译工具,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,非常适合在嵌入式领域的开发编译,如常用的arm-linux-gcc交叉编译工具 通常后跟一些选项和文件名来使用 GCC 编译器。gcc 命令的基本用法原创 2012-06-28 15:32:00 · 13504 阅读 · 1 评论 -
GCC编译器参数
除了最简单的运行gcc/g++ filename(这样只能运行最简单的小程序)外,GCC都需要用各种选项来实现其强大的功能。下面是GCC的一些常用选项描述:生成特定格式的文件:-E 只激活预处理,但不生成文件,需要把它重定向到一个输出文件里面。例子: gcc -E hello.c > pianoapan.txt gcc -E he原创 2012-06-28 15:14:19 · 660 阅读 · 0 评论 -
让wait等待所有子进程结束
while(wait(NULL)!=-1){}原创 2012-06-28 14:16:39 · 3146 阅读 · 0 评论 -
wait和waitpid
wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用wait()时子进程已经结束,则wait()会立即返回子进程结束状态值。子进程的结束状态值会由参数status 返回,而子进程的进程识别码也会一起返回。如果不在意结束状态值,则参数status 可以设成NULL。子进程的结束状态值请参考下面的waitpid()。waitpid()会暂时停止目前进程的执行,直到有信号来到原创 2012-06-28 14:10:34 · 501 阅读 · 0 评论 -
c++头文件 include保护符
头文件经常需要include其他头文件,为了可以使得一个头文件被多次包含进同一个源文件,可以使用预处理器定义头文件保护符,如下所述#ifndef SALE_H#define SALE_H........#endif原创 2012-06-28 15:11:41 · 2810 阅读 · 0 评论 -
makefile
http://rabbitlzx.blogbus.com/logs/8313897.htmlhttp://blog.csdn.net/ugg/archive/2007/05/23/1622555.aspx 陈皓概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个转载 2012-06-28 14:54:07 · 410 阅读 · 0 评论 -
c++头文件用法
概览 非模板类型(none-template)模板类型(template)头文件(.h)全局变量申明(带extern限定符)全局函数的申明带inline限定符的全局函数的定义带inline限定符的全局模板函数的申明和定义类的定义类函数成员和数据成员的申明(在类内部原创 2012-06-28 14:40:51 · 1405 阅读 · 0 评论 -
多进程or多线程
http://blog.csdn.net/wang_8910/article/details/6384061转载 2012-06-29 21:07:20 · 363 阅读 · 0 评论 -
char string转换
http://hi.baidu.com/tiemsn/blog/item/f5ff86d6eae1602e06088b71.html转载 2012-06-29 21:08:06 · 345 阅读 · 0 评论 -
c语言中的extern
http://baike.baidu.com/view/963932.htm原创 2012-07-02 13:11:08 · 388 阅读 · 0 评论 -
c语言中的static
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)第一个作用:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容#include增加这条语句char a = ‘A‘; // global variablevoid m原创 2012-07-02 13:11:31 · 350 阅读 · 0 评论 -
Linux下各类TCP网络服务器的实现源代码
http://www.chinaunix.net/jh/4/786283.html原创 2012-07-02 13:08:51 · 580 阅读 · 0 评论