调用函数时,主调的函数所拥有的局部变量等信息需要存储在特定的内存区域。这个区域被称作栈内存区。另一方面,利用new 或者malloc
进行分配的内存区域被称为堆内存。栈内存在程序启动时被统一分配,此后不能再扩大。由于这一区域有上限,所以函数的递归深度也有上限。虽然与函数中定义的局部变量的数目有关,不...
分类:
其他好文 时间:
2014-05-05 09:40:45
阅读次数:
294
// BTree.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include"stdlib.h"
#include"malloc.h"
#define BT BTreeNode
#define MS 10
typedef struct BT{
char data;
struct BT *left;
struct BT *right;
}BT;
...
分类:
其他好文 时间:
2014-05-04 12:45:34
阅读次数:
365
1 预处理1#define1.不能用 #define 定义注释,因为注释先于预处理被处理。2
.宏定义表达式1,注意展开后结合顺序,尽量多加括号2,常量定义时注意是否溢出1#define SEX_YEAR (60*60*24*365)UL3,注意空格2
#pragma#pragma message参...
分类:
其他好文 时间:
2014-05-04 11:48:14
阅读次数:
221
1,指针没有指向一块合法的区域1指针没有初始化12345678910111213#include #include struct aa{char
*pa;char c;}ssa,*ssb;void main(){strcpy(ssa.pa,"abc");printf("%s \n",ssa.pa);...
分类:
其他好文 时间:
2014-05-04 11:38:09
阅读次数:
278
函数的编码风格1.注释2,空行3,缩进4,参数长度,代码长度,语句长度要合适。5,少用全局变量6,指针仅作输入参数时,可用const
设置其为只读属性,避免其在函数中被修改。7,函数默认的输入输出参数为int
类型,无输入参数或输出参数时要注意用void8,入口参数进行断言检验来自为知笔记(Wiz)
分类:
其他好文 时间:
2014-05-04 11:10:26
阅读次数:
300
leetcode中有这么一道题,非递归来实现二叉树的遍历。二叉树的后序遍历顺序为,root->left,
root->right,
root,因此需要保存根节点的状态。显然使用栈来模拟递归的过程,但是难点是怎么从root->right转换到root。方法1:对于节点p可以分情况讨论1.
p如果是叶子...
分类:
其他好文 时间:
2014-05-04 10:39:13
阅读次数:
251
1.registerregister变量必须是能被CPU寄存器所接受的类型(32位机器寄存器为32位),必须是单个的值,长度小于或等于整形的长度不能用&来获取register变量的地址。2staticstatic在代码块外或函数声明用于更改标识符的链接属性static在代码块内的变量定义用于更改存储...
分类:
其他好文 时间:
2014-05-03 23:34:28
阅读次数:
318
1 while 等循环语句1 break 和 continue的去别2
将短的循环写在外面,长的写在里面;3 循环嵌套尽量短2 voidvoid *p,为空指针类型,可以指向任何的类型若函数不接受参数,应写明 void,3
return1234567891011121314#include int ...
分类:
其他好文 时间:
2014-05-03 23:17:33
阅读次数:
368
1 typedef 和 define
的区别#define是简单的替换;typedef是别名!12#define pchar char *pchar a,b;//展开后 char
*a,b;a为指针,b不是12typedef char* pchar;pchar a,b;//a b均为指针2.注释3接...
分类:
其他好文 时间:
2014-05-03 22:48:35
阅读次数:
401