上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页
  2013年7月8日
摘要: 1.关于数组和数组指针 数组的名字默认是常量指针,值不能改变的,例如 int a[]={1,2,3,...},这个a的类型时int *,所以如果有int *p,那么a=p是合法的,其他的指针类型,例如char *p=a都是不合法的 2维或者多维数组的指针声明,例如2维数组 int a[12][31],那么声明数组的指针应该是 int (*p)[31],p是一个数组指针,它指向的数组有31个int元素,p的实际类型应该是int**的,所有把int*类型赋值给int**类型时错误的,例如 int a[10]; int (*p)[10]; p=a;//是错误的 正确使用数组指针应该是:... 阅读全文
posted @ 2013-07-08 16:30 紫金树下 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1。函数的调用和番薯返回值是函数指针的声明 定义一个函数指针,例如 int (*fp)(float),这个函数的返回值是Int,参数是1个float类型,调用这个函数的方法是 (*fp)(),还有fp()是对前面的简写 定义一个函数返回函数指针,典型的 是signal函数,用typedef它应该是这样定义的 typedef void (*FUNC)(int); FUNC signal(int,FUNC) 摊开写就是 void (*)(int) signal(int , void (*)(int)) -------> void (*(signal(int,void (*)(int))).. 阅读全文
posted @ 2013-07-08 15:41 紫金树下 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1。运算符的贪心性,匹配最长的运算符,例如 n-->0,从-开始,-是运算符,--是运算符,-->就不是,所以是 n -- > 0,--是 a---b,-是,--是,,---不是,所以a---b=a-- - b a+++++b,从+开始,+是,++是,+++不是,所以a++是单独的,后面是+,再++b,所以a+++++b=a++ + ++b y=x/*p,/是运算符,/*是注释的开始,也是,所以左边的意思是y=x注释开始p,如果写成y=x/ *p,那么就是y=x/(*p)的意思了2. 单引号字符表示一个整形常量,它再ASCII吗表中对应的整数,"huhu" 阅读全文
posted @ 2013-07-08 15:01 紫金树下 阅读(148) 评论(0) 推荐(0) 编辑
  2013年6月25日
摘要: 本文作者@guitardave24">David Byttow 是一名程序员,曾在 Google 和 Square 等公司工作过。在正文之前,先让我们回答几个简单的问题:第一,你面试过多少家公司;第二,这些公司中,录取你的有多少?记下这两个数字,然后代入下面这个算式中(为我自己发明,仅供参考,不具有其他意义):# x = number of companies interviewed with onsite //问题一的数字# y = number of offers received //问题二的数字 value = 100 * log(x) * y / x //最终结果 如 阅读全文
posted @ 2013-06-25 19:04 紫金树下 阅读(404) 评论(0) 推荐(0) 编辑
  2013年6月23日
摘要: c++primer 15.2.7节关于static继承的意思是,父类和子类共享static函数或者static成员变量,并且子类要访问还要受它们的权限限制,下面是看到的另一个例子class Base{public:static void func(){...} ------------------>(1)};class Derived: public Base{ public: static void func(){...} -------------------(2)};子类和父类中有同名的static函数,按照一般的继承来说,对于普通的非虚.非static函数,子类是对父类函... 阅读全文
posted @ 2013-06-23 15:38 紫金树下 阅读(435) 评论(0) 推荐(0) 编辑
  2013年6月22日
摘要: 1。valgrind是一个内存检测工具,类似的还有purify,insure++等2。测试文件test.c test.c : main(){ int* a=new int[100]; return 0; } 第一步:gcc -o test test.c 第二步: valgrind --tool=memcheck --leak-check=yes ./test 结果:==3053== Memcheck, a memory error detector==3053== Copyright (C) 2002-2011, and GNU GPL'd, by Ju... 阅读全文
posted @ 2013-06-22 20:19 紫金树下 阅读(279) 评论(0) 推荐(0) 编辑
  2013年6月20日
摘要: 参考http://blog.csdn.net/wenlei_zhouwl/article/details/5992367问题:考虑在一个打印机上整齐地打印一段文章的问题。输入的正文是n个长度分别为L1、L2、……、Ln(以字符个数度量)的单词构成的序列。我们希望将这个段落在一些行上整齐地打印出来,每行至多M个字符。“整齐度”的标准如下:如果某一行包含从i到j的单词(i<j),且单词之间只留一个空格,则在行末多余的空格字符个数为 M - (j-i) - (Li+ …… + Lj),它必须是非负值才能让该行容纳这些单词。我们希望所有行(除最后一行)的行末多余空格字符个数的立方和最小。请给出一 阅读全文
posted @ 2013-06-20 15:14 紫金树下 阅读(478) 评论(0) 推荐(0) 编辑
  2013年6月19日
摘要: 参考http://blog.sina.com.cn/s/blog_51cea4040100gkcq.html二、对所有的坐标按x递增排序,上图有7个点假设d(i,j)是i点和j点的直线距离,p(i,j)是从i点到j点的最短双调欧几里得距离,那么我们可以得到p(i,j)=p(j,i),下面就i>=j的情况考虑,,假设点是1,2,....N1. i==j 此时p(i,i)=p(i-1,i)+d(i-1,i)2.j==i-1,此时在j之前有[1,j-1]个点, p(i,j)=min( p(j,k) +d(k,i) ),其中k>=1 && k<=j-13. j< 阅读全文
posted @ 2013-06-19 16:47 紫金树下 阅读(372) 评论(0) 推荐(0) 编辑
  2013年6月6日
摘要: 方法一:1.关闭mysql # service mysql stop2.屏蔽权限 # mysqld_safe --skip-grant-table 屏幕出现: Starting demo from .....3.新开起一个终端输入 # mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误 mysql> 阅读全文
posted @ 2013-06-06 19:27 紫金树下 阅读(438) 评论(0) 推荐(0) 编辑
  2013年5月21日
摘要: http://blog.chinaunix.net/u3/104010/showart_2275754.html曾看到printf的一道题,挺有意思,记录一下。floatvalue=1.0;printf("value_int = %d\n",value);printf("value_float = %f\n", value);应该输出什么?乍看这个题,很简单,浮点数1.0在内存中的存储形式是0x3f800000。float型在内存中占4Byte, int型也占4字节,按说就直接输出0x3f800000的十进制形式就可以呗。谁知道一运行大跌眼镜,打印信息: 阅读全文
posted @ 2013-05-21 21:48 紫金树下 阅读(502) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页