网站大量收购独家精品文档,联系QQ:2885784924

C_C++程序设计教程(第二版)第10章指针与应用.pdf

C_C++程序设计教程(第二版)第10章指针与应用.pdf

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 指针与应用 •指针的基本概念 •指针变量和指针运算符 •指针和函数参数 •指针和数组 •指针和函数 10.1 指针的基本概念 1.内存地址 计算机硬件系统的内存储器中,拥有大量的 存储单元。一般把存储器中的一个字节称为一 个内存单元。为了方便管理,必须为每一个存 储单元编号,这个编号就是存储单元的地址。 2.变量地址 在程序中定义了一个变量,在编译时就会给 这个变量分配内存单元,根据变量的类型,分 配一定长度的空间。 10.1 指针的基本概念 如果执行程序: main() { int a=10, b=20, c; c=a+b; printf(Sum=%d\n, c); } 变量在内存中的地址和值如图9-1所示 10.1 指针的基本概念 3.指针和指针变量 (1)指针 指针即地址。变量在内存单元的首地址称为该变 量的“指针” 。 (2)指针变量 在C语言中,允许用一个变量来存放指针,这种 变量称为指针变量。 当一个指针变量中存放其它变量的地址 时,可以通过该指针变量访问变量。 10.2 指针变量和指针运算符 指针变量是指存放地址的变量,指针变量 可以进行某些运算,但其运算的种类是有限 的。它只能进行赋值运算、部分算术运算及关 系运算。 10.2.1指针变量的定义 在C语言中,规定所有变量在使用前必须先 定义后使用,指针变量也不例外,在引用指针 变量之前必须先定义。 指针变量的定义形式如下: 类型说明符 *指针变量名; 10.2.2 指针变量的引用和初始化 1.指针变量基本运算符 (1) 取地址运算符 C语言中提供了地址运算符来表示变量的 地址。 例如: int *p, m=5,s[5]; p=m; p=s[2]; 例10.1指针变量的使用 main() { int a=100, b,*p; p=a; printf(%d, %d\n,a,*p); *p=1000; printf(%d, %d\n,a,*p); } 程序运行结果: 100, 100 1000,1000 10.2.2 指针变量的引用和初始化 2.指针变量的初始化 在定义指针变量的同时给指针变量赋初值, 叫做指针变量的初始化。一般形式为: 类型说明符 *指针变量名=初始地址值; 例如: int a; int *p=a; 10.2.3 指针的运算 在C语言中,指针的运算主要有如下3种: 赋值运算 算术运算 关系运算 10.2.3 指针的运算 1.指针的赋值运算 指针变量的赋值运算只能在同一数据类型之间进 行,有以下几种形式。 int *p1,*p2,a,s[5]; int *p1=a; p2=a; p1=p2; p1=s; p1=s[3]; p1=NULL; 10.2.3 指针的运算 2.指针的算术运算 指针的算术运算是按地址计算规则进行 的,所以指针的算术运算应考虑到指针所指向 的数据类型。 (1) 指针与整数的加、减运算 对于指向数组的指针变量,可以加上或减 去一个整数n。例如:假设p是指向数组a的指 针变量,则p+n、p-n、p++、++p、p--、--p运 算都是合法的。 10.2.3 指针的运算 假设指针变量p当前指向数组元素a[0],则 p+n则指向数组元素a[n]。例如: int a[5],*p; p=a; p++; p=a; p=p+2; /* p指向a[2],即p 的值为a[2] */ 10.2.3 指针的运算 3.指针的关系运算 指针之间的关系运算可确定它们所指向的数 据对象存储位置的前后关系,所进行的比较是 两个指针变量所指向的地址的比较。

文档评论(0)

时间加速器 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档