Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1004152
  • 博文数量: 150
  • 博客积分: 3017
  • 博客等级: 少校
  • 技术积分: 3829
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-19 14:40
个人简介

Now in Baidu WISE team

文章分类

全部博文(150)

文章存档

2014年(8)

2013年(31)

2012年(111)

分类: C/C++

2012-12-26 15:27:09

自己记录,面试时不要犯错误。
 
1.起手先判断空指针 
       assert(ptr!=NULL)
2.位操作一定多打括号
       b = (a<<1) +1
3.宏定义多打括号,参数中间不要有空格。注意不要出歧义
 #define SWAP(a,b) do{(a)^=(b); (b)^=(a); (a)^=(b);} while(0)
4.字符串加结束符
       str[i] = '\0'
5.char*形参根据需要通常要加const
       char* strstr(const char* src, const char* dest)
6.malloc和free一定要配对
       int *cpy = (int*)malloc(sizeof(int)*10);
       ...
       free(cpy);
7.有返回值的方法先写return
 
8.指针用完赋值NULL
 
9.链表题简单题问清单链表 双链表,循环链表
阅读(1375) | 评论(8) | 转发(0) |
给主人留下些什么吧!~~

txgc_wm2013-05-02 13:01:32

runningdark:前阵子事太多,没空搭理这里,现在回来了。愿闻其详啊~ 少了什么细节?

按照你上面那样写,例如
if(a>b)
     SWAP(a,b) 

一方面,它显示的不友好;另一方面,它是错误的。

回复 | 举报

runningdark2013-05-02 12:19:22

txgc_wm:例子中,如下写:
  #define SWAP(a,b) (a)^=(b);(b)^=(a);(a)^=(b);


不是很好哦。

前阵子事太多,没空搭理这里,现在回来了。愿闻其详啊~ 少了什么细节?

回复 | 举报

txgc_wm2013-03-21 14:00:33

例子中,如下写:
  #define SWAP(a,b) (a)^=(b);(b)^=(a);(a)^=(b);


不是很好哦。