- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
谭浩强版C程序设计第六章指针
第6章 指针;6.1 指针的概念; 2. 变量的地址
在程序中定义的所有变量,都要分配相应的存储单元,不同类型的数据所需要的存储空间的大小不同。 系统分配给变量的内存空间的起始单元地址称为该变量的地址。
如: int I,K;
I=3;K=5;
;3.内存单元的访问方式; 4. 指针与指针变量; 6.2. 指针变量的使用; 6.2. 指针变量的使用;例 通过指针变量存取变量的值 ;例6.2 输入a和b两个数,按从小到大的顺序输出 ;3.指针作为函数的参数;程序运行过程中变量值的变化分析;比较数值型参数;比较以下函数; 1. 指针运算
指针运算包括算术运算、关系运算与赋值运算。
指针可以与整数进行加减运算,结果与指针所指向的数据类型有关。p+n表示指针p当前所指向位置后面第n个同类型数据的地址, p-n表示指针p当前所指向位置前面第n个同类型数据的地址。
;例 指针与整数的加减运算 ;指向同一种数据类型的指针可以进行关系运算。两个相同类型的指针相等,表示这两个指针指向同一个地址。
指针也可以与0进行比较运算,如果p==0成立,我们称p是一个空指针,即指针p还没有具体指向。
为了避免使用没有指向的指针,在定义指针变量时,可以将其初始化为0(也可以写成NULL)。;例: 使用空指针 ;数组在内存中是连续存放的,每个数组元素都占用存储单元,有相应地址,所以指针可以指向数组元素.
如: int a[10], *p;
p=a[5];
*p , a[5] 含义相同
; 数组名就是数组的首地址(第一个元素的地址),指针可以与整数进行加减运算,利用这一性质可以方便地通过指针引用数组元素。
如: int a[10],*p;
则: p=a; p=a[0]; 含义相同
p+i a+i 含义相同
*(p+i) *(a+i) a[i] 含义相同
注:[]又称变址运算符. a[i] 的地址为: a+i*d
指向数组元素的指针变量也可带下标,如p[i].;例 使用指针输出数组中的所有元素 ;例6.5 输出数组中的全部元素。;比较;注意;例: 指向同一个数组的两个指针的减法运算;3. 指针作为函数的参数接收数组地址;函数;#include iostream
using namespace std;
void select_sort(int *p,int n);
int main( )
{int a[10],i;
cout″enter the originl array:″endl;
for(i=0;i10;i++)
cina[i];
coutendl;
select_sort(a,10);
cout″the sorted array:″endl;
for(i=0;i10;i++)
couta[i]″ ″;
coutendl;
return 0;
;说明;实参和形参的结合有4种形式;例: 编写一个函数,将数组中的元素按照相反的顺序存放; 源程序;注意:数组名作为函数参数传递的是数组首地址,因此也可以直接将形参改为指针,当数组名作为实参时,同样能够传递数组首地址。将函数inv()做以下修改:;4.多维数组与指针;由此可见;(2)指向多维数组元素的指针变量;指向一维数组的指针变量;(3)指向数组元素的指针作函数参数;6.4 字符串与指针;6.5 函数与指针; 函数指针变量的赋值; 函数指针变量的使用;例6.14 求a和b中的大者。;6.6 返回指针值的函数;定义指针型函数的一般格式;6.7指针数组和指向指针的指针;例6.15 若干字符串按字母顺序(由小到大)输出。;函数;例: 用指针数组处理二维数组的元素;2.指向指针的指针;例: 二级指针的应用;例6.16 用二级指针指向指针数组;
#include iostream.h
#include string.h
void stringcat(char *s1, char *s2);
void main()
{
char a[20] = abcde;
char b[] = fgh123;
cout a endl;
cout b endl;
stringcat(a,b);
文档评论(0)