2013年9月29日
摘要: 数据对齐:是指数据所在的内存地址必须是该数据长度的整数倍。结构体中数据对齐:(1)每个元素的地址必须是该元素的长度的整数倍。(2)该结构体占大小必须是该结构体中最大元素的大小的整数倍。 阅读全文
posted @ 2013-09-29 02:18 张三的哥哥 阅读(165) 评论(0) 推荐(0) 编辑
  2013年9月26日
摘要: 一,sizeof是C语言的一种单目运算符,与C语言的其他运算符++,--一样,它并不是函数;sizeof()以字节为单位给出了操作数的大小;sizeof的值是无符号int。 strlen是一个函数,只处理字符数组,遍历字符数组中每个元素,当遇到'\0'时停止遍历,返回字符数组中字符的个数,sizeof的值是无符号int。二,sizeof 1,sizeof用于数组,返回编译时分配的数组空间大小,如果字符数组,注意有'\0':int num[4]; sizeof(num) 返回16、char str[] = "hello";sizeof(str) 阅读全文
posted @ 2013-09-26 22:26 张三的哥哥 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 一,宏定义:在预处理的时候把宏定义的内容替换到代码中,正常编译。1,无参数宏定义和有参数宏定义 (1)宏定义不能加分号,比如:#define PI 3.24;错的,#define PI 3.24对的。 (2)带参数宏定义,注意参数用括号包起来,因为参数有可能表达式;宏名和形参之间不能有空格。 (3)带参数宏定义和带参数的函数,在使用时候有差别的。 带参数函数示例: #include int SQ(int);int main(){ int i=1; while(iint main(){ int i=1; while(i<=5) printf("%d\n",SQ(i++) 阅读全文
posted @ 2013-09-26 10:39 张三的哥哥 阅读(406) 评论(0) 推荐(0) 编辑
  2013年9月24日
摘要: 在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。 阅读全文
posted @ 2013-09-24 10:52 张三的哥哥 阅读(610) 评论(0) 推荐(0) 编辑
摘要: 一,printf与i++1,C语言中的printf是自右向左输出,。2,而i++与++i不同的i++首先取得i的值,下一行时候i = i + 1;++i,首先i = i + 1,再取得i的值。比如int i=8;printf("%d,%d,%d,%d,%d,%d\n",++i,--i,i++,i--,-i++,-i--);输出结果是:8,7,8,8,-8,-8在“printf("%d,%d,%d,%d,%d,%d\n",++i,--i,i++,i--,-i++,-i--);”语句中,i++的时候i值不变,在下一行时候,才会执行i = i + 1;++i时 阅读全文
posted @ 2013-09-24 04:14 张三的哥哥 阅读(1237) 评论(0) 推荐(0) 编辑
  2013年9月18日
摘要: 根据虾皮博客中教程,成功搭建了一个12台电脑的Hadoop云平台,而且成功运行了软件自带的wordcount程序,处理10M数据。但是当程序处理40M时候,却出错了。出错提示“Java Heap Space”,即集群中各个节点的堆内存不足,因此我们需要手动增加堆内存。具体方式是在Hadoop下各个节点的mapred-site.xml文件中,添加部分内容: mapred.child.java.opts -Xmx640mView Code 之后重启hadoop即可。以上直接在Hadoop平台下运行,如果实在windows xp下用eclipse运行程序,则除了修改mapred-... 阅读全文
posted @ 2013-09-18 22:43 张三的哥哥 阅读(363) 评论(0) 推荐(0) 编辑
  2013年9月14日
摘要: 一,通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比如字符串“abacacde”过滤结果为“abcde”。要求实现函数:void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr);【输入】 pInputStr: 输入字符串lInputLen: 输入字符串长度 【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入:“deefd 阅读全文
posted @ 2013-09-14 21:38 张三的哥哥 阅读(2347) 评论(0) 推荐(0) 编辑
摘要: 第一个题:#include using namespace std;const int N = 30;int main(){ char outputStr[N]; unsigned int inputStr; int i = 0; cin>>inputStr; while (inputStr){ outputStr[i++] = inputStr % 10 + 'a'; inputStr = inputStr / 10; } outputStr[i] = '\0'; for (--i; i >= 0; i--){ ... 阅读全文
posted @ 2013-09-14 20:02 张三的哥哥 阅读(324) 评论(0) 推荐(0) 编辑
摘要: sprintf可以将整数转化为字符串,也可以连接两个字符串。但是用sprintf在连接两个字符串时,容易出现错误。因此连接两个字符串时候用strcat,将整数转化为字符串时候用sprintf。转换字符:%% 印出百分比符号,不转换。 %c 整数转成对应的 ASCII 字元。 %d 整数转成十进位。 %f 倍精确度数字转成浮点数。 %o 整数转成八进位。 %s 整数转成字符串。 %x 整数转成小写十六进位。 %X 整数转成大写十六进位。 阅读全文
posted @ 2013-09-14 11:51 张三的哥哥 阅读(479) 评论(0) 推荐(0) 编辑
  2013年9月11日
摘要: 一,基本模式匹配算法#include#include using namespace std;int main(){ char str1[] = "abchelloefg"; char str2[] = "hello"; int i = 0, j = 0, flag = 0, len1 = strlen(str1), len2 = strlen(str2); for (i = 0; i using namespace std;const int N = 100;void setNext(char *str, int len, int *next){ ne 阅读全文
posted @ 2013-09-11 21:07 张三的哥哥 阅读(236) 评论(0) 推荐(0) 编辑