第8章 指针陆小马功钟浩.pptx

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 指针 ;8.1 指针和指针变量的概念;8.1 指针和指针变量的概念;8.1 指针和指针变量的概念; 直接访问: 直接通过变量名存取变量的值 如: i=3 ; 间接访问: 通过指向某变量的指针变量访问 如: int i=10, x, *p; p=i; x=*p; ;8.2 指向变量的指针变量;1 指针变量的定义;说明:;说明:;2 指针变量的引用;(1). ─ 取地址运算符;(2). * ─ 指针运算符(间接访问运算符);2 指针变量的引用;例8-1;格式: 类型说明符 *指针变量名1=初始地址值, ··· ; 如: int i=26 ; int *ip=i; //初始化为整型地址 ;说明:;说明:;例8.2;4 指针变量作为函数参数;例8.8 交换两个元素之值;例8. 交换形参指针变量的值;例8. 交换两个元素的值;例: 写出下列程序的运行结果;8.3 指针与数组;1 指针变量的运算;指针的算术运算;;如: int a[5] ; int *ip=a[1] ; ip-- ; //指向a[0] *ip=3 ; ip-- ; //指向a[-1] ! *ip=6 ; // ! ! ! ;例: 移动指针变量访问数组元素;说明;#include stdio.h void main( ) { int k, c[5]={2,4,6,8,10}; int *pc=c[0], *pc1= c[3]; k=pc1-pc; printf(“*pc=%d,*pc1=%d\n”, *pc, *pc1); printf(“k=%d\n”, k); }; 两个指针变量的比较; #includestdio.h void main( ) { int a[10]={1, 3, 5, 7, 9, 11, 13, 15, 17, 19}; int *p1=a[0], *p2=a[9], t ; while( p1p2 ) /*两个指针变量比较*/ { t=*p1; *p1=*p2; *p2=t; //将p1, p2所指向元素的值交换 p1++; p2--; } for(t=0; t10; t++)printf(“a[%d]=%d\n”, t, a[t]); } ;例1:; int *pm, *pn, *pk, *p1, *p2, m=5, n, data[8]; *pm=m ; pn=n ; p1=data ; p2=data[7] ; p1+p2 ; p2-p1 ; scanf(“%d”, pn); scanf(“%d”, *pm); ; 指针变量的运算;指针变量的运算;数组的指针: 数组的首地址 数组名是常量指针 C语言规定: 数组名代表数组第一个元素的地址 因此, 对于数组a, 有: a 等于 &a[0] 若: int a[10], *p ; p=a; 等价于 p=a[0]; //指针变量p为指向数组a的指针变量 ;2 一维数组的指针;在C语言中,对数组元素的访问可用以下三种形式:;①用下标法存取数组元素 #include stdio.h void main( ) { int a[10], i ; for( i=0; i10; i++) scanf(“%d”, a[i]); for( i=0; i10; i++) printf(“%d ”, a[i]); printf(“\n”); };②用地址法输入输出数组各元素 (数组名+偏移量);例: 以下程序的输出结果是;③用指针法输入输出数组各元素 (移动指针);例:;一维数组的指针;数组名是一个常量指针, 不允许重新赋值。 a+=1; a++ ; 指针变量是一个变量, 可以重新赋值。 a+i

文档评论(0)

陆小马公主号 + 关注
实名认证
内容提供者

陆小马 功钟浩 分享资源

1亿VIP精品文档

相关文档