指针 8.3指针运算+指针与数组《C/C++语言程序设计基础》同步教学课件

2023-08-07
| 20页
| 149人阅读
| 1人下载
精品

内容正文:

第8章指针 8.1指针的基本概念 8.2指针变量的定义、初始化、引用 8.3指针运算 8.4指针与数组 8.6指针与函数 8.5指针与字符串 8.7指针数组 大学C/C++语言程序设计程序设计 第8章 指针 1-12章幻灯片45分钟 13-27章45分钟 8.3 指针运算 8.3.1 赋值运算 ①指针变量初始化赋值 int a,*pa=&a; ②把一个变量的地址赋予指向相同数据类型的指针变量。 如: int a, *pa; pa=&a; ③把一个指针变量的值赋予指向相同类型变量的另一个指针变量。 如:int a,*pa=&a,*pb; pb=pa; 大学C/C++语言程序设计程序设计 第8章 指针 8.3.2 加减算术运算 ①指针和整数可进行加p+n、减p-n、p++,p--运算。 指针作为地址量加上或减去一个整数n,其意义是从指针当前位置往后方或前方移动n个数据的位置。 float a,*p1=&a; 则执行语句: p1=p1+5; 则其结果为p1向后移动了5个数据的位置,由于一个float类型的变量占4个字节,则p1实际上向后移动了5*4个字节。 思考: 指针之间能作 +、 -运算吗 大学C/C++语言程序设计程序设计 第8章 指针 8.3.3 关系运算 只有指向同一数组的两指针变量之间才能进行关系运算。 例1: int a[10],*p1,*p2,*p3; p1=&a[1];p2=&a[1];p3=&a[5]; 则: p1==p2 p3>p1 p2<p3 例2: int *p; p==0 ; p!=0; p是空指针,不指向任何变量。 p是非空指针,指向确定变量。 大学C/C++语言程序设计程序设计 第8章 指针 9. 设有以下程序: #include<stdio.h> main() { int a[5]={5,1,2,9,8}; int *px=a; printf("%d ",(*px)++); printf("%d ",*px++); printf("%d ",*(++px)); } (*px)++相当于a[0]++;因此输出5,a[0]+1变成6; *px++相当于*(px++),先引用px所指向存储单元的值,即a[0],然后px加1指向a[1];因此输出6,px指向a[1]; *(++px) 指针px先加1,指向a[2],然后输出。因此输出2。 5 6 2 大学C/C++语言程序设计程序设计 第8章 指针 8.4 指针与数组 例: int a [10]; int *p; p =a;// p =&a[0]; 或 int *p =a; 大学C/C++语言程序设计程序设计 第8章 指针 8.4 指针与数组 例如: int a[10] ,*p; p =a; 问: a[i]元素的表示形式有几种? a[i]元素的地址表示形式有几种? 大学C/C++语言程序设计程序设计 第8章 指针 a[0] a

资源预览图

指针 8.3指针运算+指针与数组《C/C++语言程序设计基础》同步教学课件
1
指针 8.3指针运算+指针与数组《C/C++语言程序设计基础》同步教学课件
2
指针 8.3指针运算+指针与数组《C/C++语言程序设计基础》同步教学课件
3
指针 8.3指针运算+指针与数组《C/C++语言程序设计基础》同步教学课件
4
指针 8.3指针运算+指针与数组《C/C++语言程序设计基础》同步教学课件
5
指针 8.3指针运算+指针与数组《C/C++语言程序设计基础》同步教学课件
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。