程序设计基础ch5.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计基础 张杰敏 第5章 指针与数组 学习目标 理解指针、地址和数组的概念 学会使用数组和字符数组 学会指针运算的方法和技巧 学会指针作为函数参数的用法 理解函数的指针和返回指针值的函数 了解指针与二维数组配合的编程方法 了解“指针的指针”的定义 5.1 指针与地址(1) 内存单元的编号也叫做地址 通常也把存放地址的变量称为指针或指针变量 对于一个内存单元来说,单元的地址(编号)即为指针变量的值,单元的内容是其中存放的数据 5.1 指针与地址(2) 指针变量的说明包括类型说明、指针变量名和指针所指向的变量的数据类型三个内容,其一般语法形式为:     类型说明符 *变量名 其中,*表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指针变量所指向的变量的数据类型 例如:int *p1;表示p1是一个指针变量,它的值是某个整型变量的地址 5.1 指针与地址(3) 指针的比较 两个指针在一定条件下可以进行比较。如果两个指针p和q指向同一数组,则它们可以进行〉,〉=,〈,〈=、==和!=等比较运算。例如: pq   若指针p指向的位置位于指针q指向的位置之前,则其值为真;反之则为假 p==q   若指针p和q都指向同一个变量,则其值为真;否则为假 p==0   若指针p为一个空指针,则其值为真;反之为假 p!=0   若指针p不是空指针,则其值为真,反之为假 5.2 指针算术运算 对指针来说,有加,减两种算术运算,可用的算术运算符有: +,-,++,--,+=和-= 运算规则如下:  ①指针的算术运算是根据其类型的长度确定增减量来进行。由于地址计算与其相应数据类型占字节数有关,故指针的增减量,根据其类型的长度确定。  ②++(--): 指针增1运算,即指针向前移动一个数据的位置,指向的新地址为 原地址+(-)sizeof( 类型说明符). 如设: int *p=k;    则若k的地址为2000, p++ 以后P的值变为2002,而非2001。p每增一次,就将指针指向后一个整数(两个字节),P--后为1998而非1999.  ③+(-):指针变量加(减)正整数n,即表示指针向后(前)移动n个数据,使该指针所指向的地址为原地址+(-) sizcof(类型说明符)*n。如:p=p+5;   之后p值为 2000+5*2=2010。  ④.说明:指针仅能做以上几种算术运算,除此之外的运算即是非法的 5.3 指针与函数参数 函数调用过程中有传值和传址两种参数传递方法 指针作为函数参数,使得函数的调用灵活、高效 指针与函数参数的配合使用,常见有三种:   函数的参数为指针型、   函数的返回值为指针型   函数指针(指针的基本类型为函数)   举例说明 5.4 数 组(1) 在计算机高级语言中,把具有同一名字,互相有联系且按一定顺序排列的变量称为数组 数组中的每一变量都用不同的下标来区别,称为数组元素,0作为第一个元素的下标 需要使用数组时,先要进行定义,然后才能使用 5.4 数 组(2) 一维数组的说明格式。一般语法形式为:   ? 类型? 变量名[长度]  类型是指数据类型, 即每一个数组元素的数据类型, 包括整数型、浮点型、字符型、指针型以及后面要讲述的结构和联合 一维数组的初始化赋值的一般语法形式为:   类型说明符  数组名[常量表达式]={值,值……值}  C语言规定定义数组的同时可作初始化赋值。在{ }中的各数据值即为各元素的初值, 各值之间用逗号间隔 一维数组的引用。C语言规定只能逐个引用数组元素而不能一次引用整个数组。数组元素的表示形式为   数组名[下标] 5.4 数 组(3) 用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。几点需要说明: ①要区别“字符”和“字符串”,字符变量或字符数组的一个元素只能存放一个字符,用单引号引起来 ② C语言规定了一个“字符串结束标志”,以字符‘\0’代表 ③字符数组的输入/输出方式除了逐个元素(字符)输入输出外,还可以用”%s”格式符整体输入/输出 ④输出字符不包括结束符’\0’ 5.4 数 组(4) ①二维数组的定义。一般语法形式为: 类型说明符 数组名[常量表达式][常量表达式] ②二维数组的理解:可以把二维数组看成是一个一维数组,这个一维数组的每个元素又是一维数组 ③二维数组的元素在内存中的存放循序。按行存放 ④二维数组中元素的引用。用数组名和下标引用元素 ⑤二维数组的初始化 多维数组的一般语法形式为: 类型? 数组名[第n维长度][第n-1维长度]......[第1维长度] 5.5 数组的指针 指向一个数组的指

文档评论(0)

smashing + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档