- 1、本文档共66页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]c程序设计第一章2数组和指针
第四部分 数组 二、一维数组的定义形式: 三、数组元素的引用 四、数组的初始化 课程回顾 五、二维数组的定义和引用 六、泛型算法应用于普通数组(参考课本13页1.2.6) 综合练习 第五部分 指针 二、 变量的指针和指向变量的指针变量 三、指针变量的定义和初始化 课程回顾 四、指针与数组 2、用指针引用数组元素 ★五、动态分配内存 2、delete运算符 六、对指针使用const限定符 1、指向常量的指针 2、常量指针 3、指向常量的指针常量 变量和数据在内存中存放都要占用一定数量的内存空间(单位为字节)。 计算机内存中的每个字节都有一个编号,该编号称为内存地址即指针。 变量的地址:每个变量的地址是指该变量所占存储单元 的第一个字节的地址。 指针:由于通过地址能找到所需的变量单元,可以说, 地址“指向”该内存单元。所以,c++语言中又将 地址形象化的称作“指针”。 即某个变量的指针就是该变量的地址。 一、指针和地址的概念 指针变量: C++中有一种特殊的变量可以存放普通变量的地址,称为指针变量。 而要取得一个普通变量a的地址可使用运算符(取地址运算符)。 例如:若有变量a,则: a即表示变量a的地址。 反之,若要取得变量a的地址则可使用运算符,即a。 即:专门存放指针(地址)的变量称为指针变量。 由上节可知,变量的指针就是变量的地址。 存放变量地址的变量就是指针变量,用来指向另一个变量。 例如:int i=3; 3 … … 变量p的空间 2000H 此处p即为指针变量 变量i的空间 … … 2000H 2001H 2002H 2003H int i=3; 2000H 2001H … … 3 … … 变量p的空间 2000H 在这里也可以说变量p指向变量i。 P 2000H i 3 指向 用*表示指向,即*p就表示变量i,所以 *p=3 与 i=3 等价 要使用指针变量,首先要弄清指针变量的4个要素: 1、指针变量的类型:int型。 2、指针变量基类型:指针变量所指向的变量的类型。 3、指针变量的值:指针变量所指向的变量的地址。 4、指针变量本身所占据的存储单元:指针变量用来存放地址时所需占用的内存大小。 形式: 变量名 * 类型名称 注:1)* 说明符,用来说明该变量为指针变量 2)类型名称:基类型,用来指定指针变量所指向的变量的类型。 3)指针变量的值是其所指向的变量的地址,而不能是普通的数据。 例如:若有定义 int *p, x; 若使p指向x,则可用: p=x; p=3;(错误) 1、定义 练习: (1)定义一个指向单精度型数据的指针变量q (2)定义一个指向字符型数据的指针变量p float *q; char *p; 3)一个指针变量只能指向同一类型的变量。 例如:若有定义 int x; float y; int *p; × p=x; √ p=y; cannot convert from float * to int * 2、指针变量的初始化 指针变量在使用之前必须先定义,而且必须赋值后才能使用,未经赋值的指针变量不能使用。 (1)定义的同时赋值 如:int a; int *pa=a; (2)先定义再赋值 如:int a,b; int *p; p=a; …… p=b; 注:指针变量的赋值只能赋予地址,而不允许把一个数值赋给指针变量。 如: int *p; P=1000; (错误) 例 int i; int *p = i; 变量必须已说明过 类型应一致 例 int *p=i; int i; 例 int i; int *p = i; int *q = p; 用已初始化的指针变量作初值 三、指针变量的使用 注: * 指针运算符或者间接访问运算符 例题(lt1.c) pa=a; pb=b; main() {int a,b,*pa,*pb; } // 用pa指向变量a // 用pb指向变量b cin*pa*pb; cout*pa“,”*pbendl; 指针变量经过定义及初始化后,就可以使用指针变量来引用普通变量的值了。 形式: *指针变量 cinab; couta“,”bendl; // 从键盘输入数据给a,b赋值 // 输出a,b的值 1.在STL库中用于实现数组内容反转的函数是______。
文档评论(0)