随笔分类 -  C/C++

1
摘要:#include #include int main(){ char (*pStr)[9] = NULL; char arTest[2][9] = {"00001", "00002"}; pStr = arTest; printf("%s\n", *pStr); pStr++; printf("... 阅读全文
posted @ 2015-04-24 23:51 Superpig0501 阅读(196) 评论(0) 推荐(0)
摘要:C/C++结构体内存遵循三个原则:1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员自身大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding);3) 结构体的总大小为结构体最宽基本类型成... 阅读全文
posted @ 2015-04-22 23:00 Superpig0501 阅读(159) 评论(0) 推荐(0)
摘要:这里首先给出容器map的原型:template , class Alloc = alloc>class map{ ...} 可以看到模板参数一共有四个,第一个就是Key,即键;第二个就是值;第四个就是空间配置器,默认使用alloc(随STL版本不同而不同)。那么第三个是啥? 我们知道,map... 阅读全文
posted @ 2014-11-14 22:21 Superpig0501 阅读(5306) 评论(0) 推荐(2)
摘要:现在有这么几个结构体:typedef struct _info_head{ u_int src_ip; u_int dest_ip; u_int src_port; u_int dest_port;}info_head;typedef struct _pkt_info{ u_long sec; u... 阅读全文
posted @ 2014-11-13 05:15 Superpig0501 阅读(1020) 评论(0) 推荐(1)
摘要:题目1:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得他们的和正好是s。如果有多对数字的和等于s,全部输出。题目2:输入一个正数s,打印所有的和为s的连续正数序列(至少含有两个数)。例如输入15,由于1+2+3+4+5 = 4+5+6 = 7+8 = 15,所以打印三个连续序列,即1-... 阅读全文
posted @ 2014-11-04 22:32 Superpig0501 阅读(229) 评论(0) 推荐(0)
摘要:题目:一个整形数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度为O(n),空间复杂度为O(1)。思路:题目要求非常严格,O(n)的时间复杂度,O(1)的空间复杂度。难度不小。参照书上给出的思路,实现了一遍,主要也是弥补位运算方面经验的欠缺。下面是我的... 阅读全文
posted @ 2014-11-04 12:24 Superpig0501 阅读(357) 评论(0) 推荐(0)
摘要:题目:我们把只包含因子2、3和5的数称为丑数(Ugly Number)。求按从小到大的顺序的第1500个丑数。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做第一个丑数。思路:和书上描述的第二个思路一致。首先建立一个大小为N(此问题中,N为1500)的int数组,然后每次求出比当... 阅读全文
posted @ 2014-11-04 01:04 Superpig0501 阅读(608) 评论(0) 推荐(0)
摘要:C语言和头文件中的函数2014年9月29日本文中的字符串,都是C风格(C-style)的字符串,即由char*指针指向的字符数组,所以请忽略代码部分中高亮的"string"关键字,它不是C++中的关键字。strcpy 原型:extern char *strcpy(char * dest, char ... 阅读全文
posted @ 2014-09-29 11:10 Superpig0501 阅读(2609) 评论(0) 推荐(0)
摘要:题目:输入N个数字,找出其中最小的K个数。思路:维护一个数组KMin,长度为K,存放最小的K个数。遍历原始数组的过程中,如果KMin不满,就直接在后边插入新的数字;如果KMin满了,就要找到其中最大的数字,和当前遍历原始数组时遇到的数字进行比较,决定是否更新。由于每次都要获得KMin中最大的数字,所... 阅读全文
posted @ 2014-09-19 04:31 Superpig0501 阅读(277) 评论(0) 推荐(0)
摘要:题目:输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表,要求不能创建任何新的结点,只能调整树中结点指针的指向。只能修改节点中的指针,那么简单一点的情形,应该就是将二叉树节点中的lchild指针当做转化后双向链表中的prev指针,rchild指针当做next指针。思路类似于严蔚敏《数据结构》... 阅读全文
posted @ 2014-09-18 22:32 Superpig0501 阅读(150) 评论(0) 推荐(0)
摘要:其实很简单,无奈老是记不住,那就单独写出来吧!a.指针本身不可变,即不可指向其他对象:char* const pContent = “abcde”;pContent[2] = ‘f’; //合法pContent = “abfde”; //不合法b.指针所指向的对象不可变,即指针不可以修改所指向的对... 阅读全文
posted @ 2014-09-18 20:50 Superpig0501 阅读(361) 评论(0) 推荐(0)
摘要:《Accelerated C++》笔记书籍ISBN:978-7-111-22404-4 Chapter 8 P123 typename关键字这里举了一个这样的例子:template T median (vector v){ typedef typename vector::size_type vec... 阅读全文
posted @ 2014-09-15 21:09 Superpig0501 阅读(779) 评论(0) 推荐(0)
摘要:所谓函数指针模板,就是指向函数模板的函数指针,也可以称为泛型函数指针。问题描述:定义了一类函数模板,而且这类函数模板有共同的接口,即一致的参数列表。那么如何定义一个函数指针,使这个函数指针可以指向这一类中的所有函数模板呢?一、先我们应当明确一点,在C++中,模板函数仅仅是一个用来生成函数的代码块,它... 阅读全文
posted @ 2014-09-05 03:51 Superpig0501 阅读(9411) 评论(0) 推荐(0)
摘要:问题提出的背景:最近在自己动手,用C来实现各类经典算法,还搬到了Github上,但是有一个问题比较困扰我,就是这些可以复用的,作为工具方法的算法,究竟应该放在头文件还是源文件里?一般的、通用的准则到底是什么呢?或者说头文件与源文件的作用究竟是什么?在编译连接等过程中,编译器会对他们有怎样的区别对待呢... 阅读全文
posted @ 2014-09-04 04:42 Superpig0501 阅读(3210) 评论(0) 推荐(2)
摘要:找工作,复习C++,被同名函数的问题困扰了一次又一次,自己写下来吧。1 成员函数重载(Overload)特征: a 相同的范围(在同一个类中) b 函数名字相同 c 参数列表不同(包括const) d virtual关键字可有可无2 重写(覆盖,Override)是指派生类函数覆盖基类函数,特征是:... 阅读全文
posted @ 2014-08-05 03:10 Superpig0501 阅读(753) 评论(0) 推荐(0)
摘要:通常循环变量在循环中会充当数组下标,所以为了保证不出线向下越界,直觉上我们会选择使用unsigned int类型的循环变量。但在运行下面这段代码的时候,问题出现了。template void Adjust(T * arr, const unsigned int i, const unsigned ... 阅读全文
posted @ 2014-05-16 17:48 Superpig0501 阅读(2373) 评论(0) 推荐(0)
摘要:因为vc6.0程序有英文版本和中文版本,以下的解决方案是英文版本的,意思就是英文的菜单。需要下载文件FileTool,文件下载地址:http://support.microsoft.com/kb/241396/zh-cn 下面是百度文库中的解决方案,按照下面的方式,我的问题已经解决。1.下载File... 阅读全文
posted @ 2014-05-14 20:01 Superpig0501 阅读(666) 评论(0) 推荐(0)
摘要:C语言(C99)常见的注释方式有两种:1./* 注释内容*/2.//注释内容第一种一般用于多行注释;第二种一般用于单行注释。不过今天玩出个新花样,就是在使用第二种注释方式进行单行注释时,在行尾写一个"\"(Backslash),那么这个单行注释的下一行就也是注释语句了。为什么呢?一想就明白了。"\"... 阅读全文
posted @ 2014-04-28 23:46 Superpig0501 阅读(463) 评论(0) 推荐(0)
摘要:上一篇文章里要写C的注释方式,最常见的注释方式是一对斜杠(slash, "/")中加一对星号(asterisk,"*")。但是直接在编辑里写""这些字符的话,结果会是直接变成空白。首先点击博文编辑框下边的“显示源代码”复选框,查过源代码以后发现,文章格式使用了html标记语言。我猜想C语言的注释格式... 阅读全文
posted @ 2014-04-28 23:46 Superpig0501 阅读(189) 评论(0) 推荐(0)
摘要:今天在c语言中实现中文(utf8)转换成unicode。干脆自己写了个转化函数。在百度上查了unicode的相关资料。终于搞懂了unicode跟utf8的关系了。下图为百度百科找到的unicode转换表 UTF-8 UTF-8以字节为单位对Unicode进行编码。从Unicode到UTF-8的... 阅读全文
posted @ 2014-04-28 23:46 Superpig0501 阅读(884) 评论(0) 推荐(1)

1