人较笨且记性不好,故记录在此.折叠代码打不开请F5.本博中很多是转载收录其他网友的文章(原文地址请见博文末尾),所有权为原作者所有!!!
此博客已不再更新和维护,欢迎关注我的github新博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

2011年6月5日

摘要: 在遍历链表时正确释放元素的方法是:使用临时变量存储下一个元素的地址。这样就可以安全的地在任何时候释放当前元素,不必担心在取下一个元素的地址时还要引用它。代码如下:(注意for执行的顺序)struct node *p, *start, *tmp;for(p=start; p; p=tmp){ tmp = p->next; delete(p); p = NULL;} 前提是链表最后的 next被赋值为NULL了,要不然即使 p最后没有数据了还是会执行下去的。 阅读全文
posted @ 2011-06-05 18:04 子坞 阅读(291) 评论(0) 推荐(0) 编辑

摘要: 1 #include <stdio.h> 2 void main() 3 { 4 int i=4; 5 int*p=&i; 6 //int *p=(int *)4; 7 printf("%d\n",*p); 8 printf("%p\n",p); 9 *p=12;10 printf("%d\n",*p);11 printf("%p\n",p);12 getchar();13 return;14 }当为 int *p=(int *)4的时候会报错。因为 4在内存中没有相应地址映射,p指向的是非法地 阅读全文
posted @ 2011-06-05 16:52 子坞 阅读(1333) 评论(0) 推荐(0) 编辑