10 2015 档案
摘要:1. sizeof1.1 sizeof是一个独立的运算符,不是函数。sizeof给我们提供有关数据项目所分配的内存的大小。例如:12cout << sizeof(long) << endl; // 输出: 4cout << sizeof(double) << endl; // 输出:81.2 如果将...
阅读全文
摘要:1.1.5指针参数是如何传递内存的?如果函数的参数是一个指针,不要指望用该指针去申请动态内存。如下示例中,Test函数的语句GetMemory(str, 200)并没有使str获得期望的内存,str依旧是NULL,为什么?void GetMemory(char *p, int num){ p = (...
阅读全文
摘要:二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序...
阅读全文
摘要:已知strcpy函数的原型是:char *strcpy(char *dst, const char *src);实现strcpy函数解释为什么要返回char *假如考虑dst和src内存重叠的情况,strcpy该怎么实现1.strcpy的实现代码char * strcpy(char *dst,con...
阅读全文
摘要:C语言中的未定义行为(Undefined Behavior)是指C语言标准未做规定的行为。同时,标准也从没要求编译器判断未定义行为,所以这些行为有编译器自行处理,在不同的编译器可能会产生不同的结果,又或者如果程序调用未定义的行为,可能会成功编译,甚至一开始运行时没有错误,只会在另一个系统上,甚至是...
阅读全文
摘要:typedef:如果放在所有函数之外,它的作用域就是从它定义开始直到文件尾;如果放在某个函数内,定义域就是从定义开始直到该函数结尾;#define:不管是在某个函数内,还是在所有函数之外,作用域都是从定义开始直到整个文件结尾。如:typedef …//此处开始到文件结尾#define …//此处开始...
阅读全文