C语言常见错误

  1. 索引数组时的防止越界的错误写法

int arr[MAX] = {0};

在某处索引该数组时,为了防止下标越界,可能会这样写

count = get_index();

if arr[count] > 0 && count < MAX // 在count >= MAX时,第一个判断条件其实已经越界了

{

  do_something()

}

2. 在两个线程间传递指针

尽量不要在两个线程间传递指针,如果一定要传递,则遵循:

1. 谁申请的,谁释放

2. 不要把栈地址传递给另一个线程

3. 对有符号整数进行移位操作

4. unsigned int never exceeds the value 0xFFFFFFFF

原文地址:https://www.cnblogs.com/redstar9451/p/12916703.html