- 博客(4)
- 收藏
- 关注
原创 crc16
#include using namespace std;// x^16+x^12+x^5+1unsigned short crc16(unsigned char *ptr, int len){ unsigned short CRC = 0xFFFF; // vc++ sizeof(unsigned short) == 2 unsigned char j, tmp =
2011-11-26 14:06:51 740
原创 数组边界引起的死循环
int main(int argc, char* argv[]){ int i, a[10]; for (i = 1; i<=10; i++) a[i] = 0; return 0;}以上代码为死循环,如栈向低地址成长,那么a[10]实际为i,于是i赋值为0,进入死循环
2011-11-16 15:24:00 520
原创 词法分析中的贪心
C语言对多字符识别时,采用贪心,使用规则如下:每一个符号应该包含更多的字符。也就是说,编译器将程序分解成符号的方法是,从左到右一个字符一个字符地读入,如果该字符可能组成一个符号,那么再读入下一个字符,判断已经读入的两个字符组成的字符串是否有可能是一个符号的组成部分;如果可能,继续读入下一个字符,重复上述判断,直到读入的字符组成的字符串以不再可能组成一个有意义的符号。这个处理策略有事被称为“
2011-11-16 14:09:20 492
原创 0长度数组问题
标准c/c++不支持0长度数组,GNU支持struct node{ char a; short b; int c; char* d; char e[0]; }; int main(int argc, char* argv[]) { printf("%d\n", sizeof(struct node)); system("pause
2011-11-08 14:20:45 610
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人