指针的使用与赋值

上传人:豆浆 文档编号:31878474 上传时间:2018-02-09 格式:DOC 页数:2 大小:25.50KB
返回 下载 相关 举报
指针的使用与赋值_第1页
第1页 / 共2页
指针的使用与赋值_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《指针的使用与赋值》由会员分享,可在线阅读,更多相关《指针的使用与赋值(2页珍藏版)》请在金锄头文库上搜索。

1、7.7 指针的使用指针与其他变量一样,必须先定义后使用,而且必须先初始化。否则,指针就是一个野指针,使用这样的野指针会造成不可预期的后果。本章 7.4 节中详细讨论了指针初始化的问题,这一节就来讨论一下指针使用方面的问题,这包括两方面:赋值和取内容。7.7.1 指针的赋值在 7.4 节讲过指针的初始化,赋值与初始化基本类似,7.4 节谈到的初始化方法都适用于赋值。但两者也有一些细微的差别。初始化多发生在定义时,而赋值则多在定义以后。初始化时如果不是字符串,则右值只能使用地址。因为,此时指针还没有指向特定的内存单元,所以不能给它赋数据。字符串实质是字符数组,字符数组是天生的指针。系统会自动为字符

2、串分配存储单元,并且数组的名字就是字符串的首地址指针。此时实质还是地址。赋值可以赋地址或数据,格式如下所示。1. p1= 2. p1=p2; 3. *p1=var; 第 1 个式子中,p1 是指针变量,var 是变量。&是取地址运算符(格式参 7.4 节),取出变量 var 的地址。所以,第 1 个式子表示让指针指向变量 var。第 2 个式子中 p1 和 p2 是同类型的指针,表示让 p1 指向 p2 所指的内存单元。第 3 个式子中,p1 是指针变量,var是变量。*是间接操作符,表示间接访问 p1 指向的内存单元。该式表示直接用变量 var 来修改指针所指向的内存单元的内容。赋值时,若左

3、值不带*,则只能赋予地址;否则只能赋予变量的内容。【示例 7-17】 演示指针的赋值方法。1. int main(void) 2. 3. int iVal=5; 4. int *p1= /取变量地址 5. int *p2=p1; /用指针赋值 6. int *p3=0; /指针赋为空 7. p3=new int; /申请内存空间 8. *p3=100; /修改所指内容 9. delete p3; /释放 10. p3=0; /置空 11. return 0; 12. 分析:该示例中指针变量 p1、p2 的初始化和赋值是一样的过程,而 p3 则是先初始化,再赋值。赋给 p1 的是变量 iVal 的地址,由取地址运算符取出。赋给 p2 的则是 p1的指针,p2 和 p1 将都指向变量 iVal。p3 则是先初始化为空指针,再用 new 申请存储单元,然后再赋值。通过间接访问,将 100 保存到 p3 中。注意:赋地址时,不要求左值原来必须指向某个内存单元。而赋数据则要求指针必须指向某个内存单元,给其赋值只是填充了该内存单元的内容。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号