<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xiaoc024的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiaoc024</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiaoc024]]></copyright><item><title><![CDATA[Substring with Concatenation of All Words]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51595193</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51595193</guid><author>xiaoc024</author><pubDate>Mon, 06 Jun 2016 14:17:30 +0800</pubDate><description><![CDATA[刷了LeetCode30道题了，这道题是最难通过的，测试数据很刁钻，各种超时和边界考虑不周。参考了很多解法，中文的就没有不超时又解释明白的。以下是我的带注释代码。想看懂必须得先会Longest Substring Without Repeating Characters后两种解法。public class Solution{
    public List<Integer> findSubstrin]]></description><category></category></item><item><title><![CDATA[位运算符巧用]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51584605</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51584605</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 15:32:54 +0800</pubDate><description><![CDATA[使用移位运算符计算一个数的2的次幂的倍数。n << 1 即等价于 n*2
n >> 1 即等价于 n/2原理可参考十进制：n << 1 相当于结尾加个0，等价于 n*10。 
n >> 1 相当于结尾去掉一位，等价于 n/10。 
注:对于右移，各二进位全部右移若干位，对无符号数，高位补0，有符号数，各编译器处理方法不一样，有的补符号位（算术右移），有的补0（逻辑右移）使用&运算符判断奇偶print]]></description><category></category></item><item><title><![CDATA[补码和unsigned]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51584267</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51584267</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 14:34:43 +0800</pubDate><description><![CDATA[补码的由来：考虑任意一个负数，比如-24，如何表示呢？不失一般性的，假设我们用一个字节来表示这个负数。我们知道24和0的二进制表示分别是：0001 1000
0000 0000。根据以下两式：      -24 +        24 = 0;
1110 1000 + 0001 1000 = 1 0000 0000;因为只用一个字节来表示，所以第二个等式右边的‘1’溢出了。显示出来的结果就是8个0。]]></description><category></category></item><item><title><![CDATA[大端（BIG-ENDIAN）小端（LITTLE-ENDIAN）]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51583618</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51583618</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 11:38:09 +0800</pubDate><description><![CDATA[总是记不住大端和小端，就像我记不住阴历和阳历一样。 
这次来个一句话总结：小端存储的数据在截取的时候往往会保留下来。x86CPU都是小端的。如下是判断大小端的超简洁一行代码。printf("%s", 1&0xff ? "Little-Endian" : "End-Endian");]]></description><category></category></item><item><title><![CDATA[编译成exe可执行文件的过程]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51583348</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51583348</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 10:56:54 +0800</pubDate><description><![CDATA[.c—–>.i—–>.s—–>.o—–>.exe 
.i是编译预处理后的文件，然后经编译器编译后生成汇编代码文件.s，再经过汇编后变成目标代码文件.o，经过链接库文件行成.exe]]></description><category></category></item><item><title><![CDATA[关于#include]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51583337</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51583337</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 10:55:03 +0800</pubDate><description><![CDATA[一：<> 和“”的区别。前者只在指定目录去寻找。后者现在当前目录找，找不到再去指定目录 
二：#include不是用来引入库的，现在c语言编译器默认引入所有标准库。他的作用只是引入了函数原型。比如#include]]></description><category></category></item><item><title><![CDATA[全局变量和静态本地变量]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51583311</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51583311</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 10:51:17 +0800</pubDate><description><![CDATA[全局变量不初始化默认为0。本地变量不初始化值不确定。 
静态本地变量为全局生存期，本地作用域，在内存中与全局变量挨着放]]></description><category></category></item><item><title><![CDATA[结构体内存对齐]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51583284</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51583284</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 10:44:52 +0800</pubDate><description><![CDATA[结构体的sizeof的值总是≥各个成员的sizeof的值的和，等于所有成员中sizeof值最大的一个的sizeof的值乘上成员个数]]></description><category></category></item><item><title><![CDATA[关于strcpy函数]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51583273</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51583273</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 10:43:14 +0800</pubDate><description><![CDATA[该函数的两个参数内存上不能重叠。因为该函数在现代计算机的实现上要比我们想象的复杂，之所以这样是因为这个函数覆盖面很广，所以一点点效率的提升最终都会造成质的改变。比如cpu是多线程处理器时，程序会分配给不同核不同任务来进行字符串复制。所以如果内存上重叠则会出现问题。char * dst = (char*) malloc (strlen(src)+1);
strcpy(dst,src);分配内存时长度别]]></description><category></category></item><item><title><![CDATA[(void *)，(void **)和(void***)]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51583201</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51583201</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 10:29:56 +0800</pubDate><description><![CDATA[多用于强制转换，是一种逻辑上的表达。(void* )表示强制转换的指针是一级指针，(void **)表示是二级指针。他们的结果是一样的。]]></description><category></category></item><item><title><![CDATA[指针类型的意义]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51583170</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51583170</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 10:24:43 +0800</pubDate><description><![CDATA[int main()
{
    char *p;   (int *P)
    char ch[6]="fucko";
    p=ch;
    printf("%c",*(p+1));
}
得到的字符为u, 即第二个字符, 当把定义指针的char *P替换成int *p时, 输出的却是o, 即第五个字符. 所以可以看出, 定义指针时, 指针前的int或者是char主要的功能是决定你将指针的地址]]></description><category></category></item><item><title><![CDATA[随机数]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51583157</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51583157</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 10:22:13 +0800</pubDate><description><![CDATA[一共三步：#include <time.h> /*用到了time函数，所以要有这个头文件*/
srand((unsigned) time(NULL)); /*播种子*/
int number = rand()%(Y-X+1)+X;/*产生[X,Y]以内的随机整数*/解释下rand()%(Y-X+1)+X，rand()%100,生成[0，99]随机数。rand()%(Y-X+1)生成  
[0,Y-X]]></description><category></category></item><item><title><![CDATA[ASCII和ANSI]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51583111</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51583111</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 10:13:08 +0800</pubDate><description><![CDATA[ASCII:American Standard Code for Information Interchange， 美国标准信息交换代码 
ANSI:American National Standards Institute  美国国家标准学会]]></description><category></category></item><item><title><![CDATA[预定义宏陷阱]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51583001</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51583001</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 09:57:35 +0800</pubDate><description><![CDATA[预定义宏的定义和使用时要小心陷阱




#define max(A,B) ( (A) > (B) ? (A) : (B) )
max(i++,j++);    /* wrong */

#define square(x) x*x    /* wrong */]]></description><category></category></item><item><title><![CDATA[关于getchar()]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51582975</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51582975</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 09:43:58 +0800</pubDate><description><![CDATA[一、首先给出《The_C_Programming_Language》这本书中的例子:
#include 



int main( )
{
      int c;
      c = getchar();
      while (c != EOF)
      {
         putchar();
         c= getchar();
      }
]]></description><category></category></item><item><title><![CDATA[EOF和'\0']]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/51582953</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/51582953</guid><author>xiaoc024</author><pubDate>Sat, 04 Jun 2016 09:39:09 +0800</pubDate><description><![CDATA['\0'是ascII码为0的一个字符(str[length]='\0'和str[length]=0 等价)用在字符串结尾表示字符的结束，要养成在一个自定义的字符串结尾加入'\0'的习惯
EOF是文件结束符，多用于文件和输入输出流。]]></description><category></category></item><item><title><![CDATA[新的开始]]></title><link>https://blog.youkuaiyun.com/xiaoc024/article/details/37997449</link><guid>https://blog.youkuaiyun.com/xiaoc024/article/details/37997449</guid><author>xiaoc024</author><pubDate>Sun, 20 Jul 2014 22:05:18 +0800</pubDate><description><![CDATA[距离2012.3]]></description><category></category></item></channel></rss>