指针应用场景一
- 交换两个变量的值
void swap(int *pa, int *pb)
{
int t = *pa;
*pa = *pb;
*pb = t;
}
指针应用场景二
- 函数返回多个值,某些值就只能通过指针返回
- 函数返回多个值,某些值就只能通过指针返回
- 传入的参数实际上是需要保存带回的结果
- 函数返回运算的状态,结果通过指针返回
- 常用的套路是让函数返回特殊的不属于有效范围内的值来表示出错
- -1或0(在文件操作会看到大量的例子)
- 但是当任何数值都是有效的可能结果时,就得分开返回了
- 后续的语言(C++,Java)采用了异常机制来解决这个问题
指针最常见的错误
- 定义了指针变量,还没有指向任何变量,就开始使用指针