C 语言指针、参数及变量详解
1. 使用指针的场景
在编程中,有几种情况适合使用指针:
- 函数需返回多个值 :当一个函数需要返回多个值时,指针是一种有效的解决方案。
- 数据复制繁琐 :如果传递给函数或从函数返回的数据量很大,复制数据会很麻烦。例如,在图书馆的例子中,给别人一本书的目录编号比复制整本书要容易得多。
- 传递复杂数据集合 :当需要传递的信息是一个复杂的值集合,并且函数需要检查某些值并修改其他值时,传递整个集合的单个引用比复制函数所需的每个值更容易。
2. NULL 指针值
C 语言定义了一个特殊的指针值 NULL,表示“无地址”。可以将 NULL 值赋给任何指针,例如 myPointer = NULL ,也可以将指针值与 NULL 进行比较,如 if ( myPointer==NULL ) 。NULL 表示指针不指向任何变量。
实际上,内存地址从 0 开始递增,但在 OS X 和 BSD Unix 系统中,不会在地址 0 或其附近分配变量。这样做的一个重要原因是确保程序员可以保证没有有效的变量地址会是 0。
NULL 常量就是地址 0,将 NULL 赋给指针等同于将其整数值设置为 0。很多 C 程序员会使用简写方式来测试指针变量是否指向一个值:
if ( myPointer ) {
这等价于 if
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



