15、C 语言指针、参数及变量详解

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值