空指针安全
1. 完整例子
| 1 | #include <stdio.h> |
| 2 | |
| 3 | void safe_print(const int *p) { |
| 4 | if (p == NULL) { |
| 5 | printf("invalid pointer\n"); |
| 6 | return; |
| 7 | } |
| 8 | printf("%d\n", *p); |
| 9 | } |
| 10 | |
| 11 | int main(void) { |
| 12 | int a = 5; |
| 13 | safe_print(&a); |
| 14 | safe_print(NULL); |
| 15 | return 0; |
| 16 | } |
2. 习惯
- 函数入口检查指针参数
- free 后置 NULL
- 不确定就不要解引用