C/C++
文章平均质量分 63
nullpointer
这个作者很懒,什么都没留下…
展开
-
百度面试题
问题1,用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回。答案:char *revert(char * str){int n=strlen(str);int i=0;char c;for(i=0;i{c=str;str=str[n-i];str[n-i]=c;}return str;}问题2 编程:用C语言转载 2011-12-28 17:08:21 · 430 阅读 · 0 评论 -
逆置无符号整数二进制位
转自:http://blog.kingsamchen.com/archives/647前两天看Pointers On C时碰到的问题,问题的详细描述如下:编写一个函数,该函数接受一个无符号的整数(unsigned int),将这个整数在二进制上进行逆置(即逆置bit位)。如,十进制的整数7的二进制位是 0000 0000 0000 0111,逆置后的结果为转载 2012-09-24 11:19:46 · 1452 阅读 · 0 评论 -
把一个给定的值存储到另一个整数中指定的几位
编写一个函数,把一个给定的值存储到另一个整数中指定的几位,它的原型如下:int store_bit_field(int original_value,int value_to_store,unsigned starting_bit,unsigned ending_bit);假定整数中的位是从右到左进行编号。结束位置不小于起始位置。为了更清楚的说明,函数应该返回下列值:原始值原创 2012-09-24 14:43:03 · 1178 阅读 · 0 评论 -
从一个字符串中删除其包含的某个(第一个)子串
函数原型:int del_substr(char *str,char const *substr);首先应该判断substr是否在str中,如果并未出现则返回0;如果出现,函数应该吧str中位于该子串后面的所有字符复制到该子串的位置,从而删除这个子串,然后函数返回1。如果substr多次出现在str中,函数只删除第一次出现的子串,函数的第二个参数绝对不应该被修改。源码:int原创 2012-09-25 11:40:09 · 1711 阅读 · 0 评论 -
简单反转字符串函数
不使用库函数,仅用指针原地反转一个字符串函数原型:void reverse_string(char * str)基本思想:设置两个指针:begin和end1:将begin指向字符串开始,end指向字符串结尾2:交换begin和end所指向的值3:begin后移,end前移重复以上步骤直到begin和end指向同一个位置源码:void reverse_st原创 2012-09-25 15:09:06 · 654 阅读 · 0 评论 -
java使用JNI调用C++代码(vs2010生成dll文件)
参考:http://setting.iteye.com/blog/304594 http://blog.csdn.net/crayonyi/article/details/7413017首先是java代码:1:新建一个TestJNI类public class TestJNI{ static { System.loadLibrary(原创 2012-11-02 17:01:37 · 2510 阅读 · 0 评论 -
12个C语言面试问题
申明:此文章为转载,之前看到的时候没时间看,只看了一点点,当时为了方便看自己就随便保存了下来,现在找不到当时原创的网址了,不好意思了。1.gets()函数问:请找出下面代码里的问题:#include int main(void) { char buff[10]; memset(buff,0,sizeof(buff));转载 2013-03-18 13:56:00 · 1046 阅读 · 0 评论 -
从一道面试题谈linux下fork的运行机制
转自:http://kb.cnblogs.com/page/76622/给出如下C程序,在linux下使用gcc编译:#include "stdio.h"#include "sys/types.h"#include "unistd.h" int main(){ pid_t pid1; pid_t pid2; pid1 = fork(); pid2转载 2013-04-26 14:18:34 · 800 阅读 · 0 评论 -
二叉树的遍历(递归 and 非递归)
转自http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的转载 2013-04-26 17:35:01 · 741 阅读 · 0 评论 -
new与malloc,delete与free的区别
转自 :http://www.cppblog.com/Lee/archive/2009/03/09/75990.htmlhttp://www.cnblogs.com/sukairui/archive/2007/10/19/931001.html相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的转载 2013-05-27 11:15:04 · 647 阅读 · 0 评论 -
面试题记2
只记录一些比较有借鉴性的,答案以后慢慢完善,希望各位看客能给出精彩的答案,现行谢过了!1:什么是大小端模式,请用宏实现大小端模式的读写可以参考:http://blog.csdn.net/ce123/article/details/69715442:比较以下两个模式的的for循环的优缺点,如何优化for (i=0; i<N; i++){if (condition)Do原创 2013-05-27 23:10:02 · 750 阅读 · 0 评论 -
How Virtual Table works in C++
:http://www.learncpp.com/cpp-tutorial/125-the-virtual-table/转载 2014-05-31 11:11:06 · 878 阅读 · 0 评论 -
sublime C++开发环境配置
zhuanzihttp://blog.csdn.net/ilovedatastructure/article/details/10473823Sublime Text 是一款卓越的代码编辑器,具有强大的文件与函数查找功能,能够同时进行多行代码选择与编辑,可随心所欲的定制各种插件,支持跨平台使用。一、Windows平台配置Sublime Text 3 C++开发环境:1. 安装S转载 2014-09-13 16:45:47 · 4803 阅读 · 0 评论 -
simple skiplist implementation in c
#ifndef MY_SKIP_LIST#define MY_SKIP_LIST#include #include #include typedef int DataType;#define MAX_LEVEL 8struct DataNode;typedef struct NodeLevel{ struct DataNode * forward; u原创 2015-01-13 09:00:44 · 823 阅读 · 0 评论 -
Source Insight技巧:头文件和实现文件快捷键打开的方式--.h .cpp
申明:本文转载纯粹只为方便自己以后需要的时候可以很容易找到,转载请注明出处转自:http://blog.chinaunix.net/uid-27213819-id-3810619.htmlsource insight并没有提供这样的快捷键,有时候用着比较烦人。终于找到了方法:使用宏命令,并设置快捷键与之绑定。1、打开source insight,Project -> Ope转载 2015-01-20 12:57:00 · 3050 阅读 · 0 评论 -
C语言删除一个字符串中的多余空格字符
删除一个字符串中的多余空格字符,使得字符串中的每个单词之间只有一个空格字符[code=C/C++]char * my_delblank(char * str,char *newStr){ char * start = str; while(*start == ' ') { start++; } str = start; start = newStr; while(*str原创 2012-09-22 15:19:00 · 9176 阅读 · 0 评论 -
8皇后问题算法
定义一个数组queen[max],max为皇后的最大个数,代码中该数组的下标n表示棋盘的第n行,queen[n]的值表示棋盘的列号,例如queen[2] = 3表示当前测试的位置为棋盘的第3行第4列(行号和列号都从0开始)#include #include #define max 8 int queen[max], sum=0; /* max为棋盘最大坐标 */ voi转载 2012-10-08 10:26:40 · 720 阅读 · 0 评论 -
用数组简单模拟串行进位链
#includeusing namespace std;int * array_carry_chain(int * a,int * b,int n);int main(){int a [10] = {0,0,0,0,1,1,1,0,0,1};int b [10] = {0,1,0,0,0,0,1,0,1,1};//1001000100int * c = ar原创 2012-01-06 17:06:36 · 744 阅读 · 0 评论 -
C++ 2011: Strongly-typed Enums
Enumerations are an important feature of C++, but unlike in other languages, enumerations are not type-safe. There are several problems with the enums: they export their enumerators (the members of转载 2011-12-30 10:09:37 · 1268 阅读 · 0 评论 -
C++ 2011: nullptr
C++ used to lack a special value to indicate a null pointer. It used 0 for this purpose, something that was inherited from C. This led to some problems, which we'll show in this article. The new sta转载 2011-12-30 10:37:31 · 1137 阅读 · 0 评论 -
C++ Tutorial: Enhance Type Safety and Code Clarity with the nullptr Keyword
IntroductionThe literal 0 has a unique position in C++ programming -- it automatically converts to almost every fundamental type, depending on the context: int x=0; double d=0; char * p转载 2011-12-30 10:58:46 · 756 阅读 · 0 评论 -
C++ 2011: Uniform Initialization
In C++, initializing objects is not done in the same manner in all contexts. The rules for initialization and constructors are not really simple and developers sometimes have to write lot of explici转载 2011-12-30 09:48:54 · 1162 阅读 · 0 评论 -
深入理解gtest C/C++单元测试经验谈
Google C++ Testing Framework(简称gtest,http://code.google.com/p/googletest/)是Google公司发布的一个开源C/C++单元测试框架,已被应用于多个开源项目及Google内部项目中,知名的例子包括Chrome Web浏览器、LLVM编译器架构、Protocol Buffers数据交换格式及工具等。优秀的C/C++单元测试转载 2012-02-07 09:39:18 · 5842 阅读 · 0 评论 -
Callback Functions Tutorial
IntroductionIf you are reading this article, you probably wonder what callback functions are. This article explains what callback functions are, what are they good for, why you should use them, and转载 2012-03-03 15:15:34 · 589 阅读 · 0 评论 -
A simple exmaple of CallBack function in C
Here is a very rough example. Please note, the only thing I'm trying to demonstrate is the use of callbacks, its designed to be informational, not a demonstration.Lets say that we have a library (or转载 2012-03-03 14:11:00 · 592 阅读 · 0 评论 -
c语言静态变量和静态函数
转自:http://blog.csdn.net/kofandlizi/article/details/6546748static C语言 C语言程序可以看成由一系列外部对象构成,这些外部对象可能是变量或函数。而内部变量是指定义在函数内部的函数参数及变量。外部变量定义在函数之外,因此可以在许多函数中使用。由于C语言不允许在一个函数中定义其它函数,因此函数本身只能是“外部的转载 2012-03-06 15:23:32 · 481 阅读 · 0 评论 -
bug总结
java1.如果一个java对象或者它包含的对象要放入远程cache或者持久化到磁盘,那么该对象及其包含的对象就要序列化,该对象和它包含的对象的类要继承Serializable类2.如果一个java对象被仿佛cache中,而在整个开发过程中这个对象里面所包含的数据的类型,有改变:例如第一天开发中对象A包含一个ArrayList a属性,该属性被放入cache中,第二天a对象的类型变为H原创 2012-06-05 22:12:58 · 568 阅读 · 0 评论 -
variable-length argument lists
The best example of variable-length argument lists function is printf()the proper declaration for printf() is int printf(char * format,转载 2012-07-06 23:24:15 · 817 阅读 · 0 评论 -
Compare to files,printing the first line where they differ
[code=C/C++]#include# define SIZE 100int compareTxt(FILE *fp1,FILE *fp2);void show_file(char *name);int main(){ FILE *fp1 = fopen("txt1.txt","r"); FILE *fp2 = fopen("txt2.txt","r"); /*plac原创 2012-07-09 16:49:55 · 562 阅读 · 0 评论 -
int *p[] 与int (*p)[] 的区别
这里我们简单看看int *p[] 与int (*p)[] 的区别:这里最重要的是* 与[]操作符的运算优先级显然 [] 的优先权高于 * ,所以int *p[] 它首先是一个p[],是个int 数组,然后我们可以将p[]看做一个整体,用T代替,那么int *p[]就相当于int * T,而T中的元素存储的是int * 数据,所以int *p[]存储中p存储的是int *型数据,即p是一个存原创 2012-09-26 18:24:53 · 1375 阅读 · 1 评论 -
自己实现strncpy函数
[code = C/C++]char * copy_n(char * dst,const char * src,size_t n){ char * start = dst; while((n-- > 0) && (*dst++ = *src++) != '\0') ; *dst++ = '\0'; dst = start; printf(dst); return原创 2012-09-12 18:30:17 · 1321 阅读 · 0 评论 -
#pragma pack笔记
申明:内容来自stackoverflow,仅为方便自己以后忘记了再看时方便而转,https://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&ved=0CEUQFjAG&url=%68%74%74%70%3a%2f%2f%73%74%61%63%6b%6f%76%65%72%66%6c%6f%77%2e%63%6f%6d%2f转载 2015-01-21 10:43:39 · 786 阅读 · 0 评论