C语言 第8章 构造数据类型(指针1)(指针的基本概念和数组)课件.ppt

C语言 第8章 构造数据类型(指针1)(指针的基本概念和数组)课件.ppt

ID:57056846

大小:324.00 KB

页数:40页

时间:2020-07-30

C语言 第8章 构造数据类型(指针1)(指针的基本概念和数组)课件.ppt_第1页
C语言 第8章 构造数据类型(指针1)(指针的基本概念和数组)课件.ppt_第2页
C语言 第8章 构造数据类型(指针1)(指针的基本概念和数组)课件.ppt_第3页
C语言 第8章 构造数据类型(指针1)(指针的基本概念和数组)课件.ppt_第4页
C语言 第8章 构造数据类型(指针1)(指针的基本概念和数组)课件.ppt_第5页
资源描述:

《C语言 第8章 构造数据类型(指针1)(指针的基本概念和数组)课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1第八章指针12主要内容1、概述2、指针变量的定义和使用方法3、指向一维数组元素的指针4、指向字符串元素的指针5、数组、指针作为函数的参数6、指针与函数7、指针数组地址运算符&功能:取变量地址运算符单目运算符;操作数应为各种类型的内存变量、数组元素、结构体成员等;操作数不能是表达式、常量;44指针运算符*功能:取指针所指的变量的值获得指针指向的内存数据又称“间接访问运算符”单目运算符68主要内容1、概述2、指针变量的定义和使用方法3、指向一维数组元素的指针4、指向字符串元素的指针5、数组、指针作为函数的参数6、指针与函数7、指针数组2、指针变量

2、的定义定义格式指向的类型说明符*指针变量名;例:int*pt;*—指针标记。pt—指针变量名int—pt是指向整数类型的指针变量。99指针变量初始化:inta;int*p=&a;赋值语句:inta;int*p;p=&a;102、指针变量的赋值:注意:1.不允许把一个数值赋给指针变量int*p;p=1000;错误!!2.被赋值的指针变量前不能再加*说明符*p=&a;错误!!1011C语言访问变量的方式11直接访问方式按变量的地址存取变量的值。间接访问方式按变量的地址的地址存取变量的值。指针变量作为函数的参数指针变量存放的是地址值,同样可以作为函数

3、的参数来进行“地址传送”;实际参数可以是地址常量或指针变量;形式参数则为指针变量。1313p1p2temp*p1或a*p2或ba的值&b&a353531818swap()能否写成下面的形式呢?19这个程序能否实现两个变量内容的交换?1920主要内容1、概述2、指针变量的定义和使用方法3、指向一维数组元素的指针4、指向字符串元素的指针5、数组、指针作为函数的参数6、指针与函数7、指针数组第三节指针和数组1、指向一维数组元素的指针2、通过指针变量来引用一维数组的元素3、指针变量的运算1、指向一维数组元素的指针数组名是一个基类型为数组元素的基类型的地

4、址常量。数组存储在一片连续的空间里。这片区域的首地址值存入数组名中。数组名相当于地址常量。22221、指向一维数组元素的指针例:int*p;inta[5];则:p=&a[0];或p=a;23232、通过指针变量来引用一维数组的元素设有定义:inta[8],i;int*p=a;引用数组元素的方法:下标法:a[i]p[i]指针法:*(a+i)*(p+i)24243、指针变量的运算设P为指针变量,则:p++——p向后移动一个单位(地址增大)p--——p向前移动一个单位(地址减小)p+n——p向后移动n个单位(地址增大)p-n——p向前移动n个单位(地

5、址减小)“单位”是指针的基类型所占的字节数“单位”是什么概念?2525设P为指向整数的指针变量(int*p),则:p++——p向后移动两个字节(地址增大)p--——p向前移动两个字节(地址减小)p+n——p向后移动2*n个字节(地址增大)p-n——p向前移动2*n个字节(地址减小)p变化之后指向下一个整型变量;2626设P为指向字符型的指针变量(char*p),则:p++——p向后移动1个字节(地址增大)p--——p向前移动1个字节(地址减小)p+n——p向后移动1*n个字节(地址增大)p-n——p向前移动1*n个字节(地址减小)“单位”是指针

6、指向类型所占的字节数,字符型时是1个字节;p变化之后指向下一个整型变量;2727p++,++p:/*使p指向数组的后一个元素*/p--,--p:/*使p指向数组的前一个元素*/p+n:/*使p往后移n个元素*/p-n:/*使p往前移n个元素*/p-q:/*求指针变量p和q之间元素的个数,且p>q*/p+q:/*两个地址相加,无意义,不允许*/指针运算小结:282829主要内容1、概述2、指针与变量3、指针和数组4、指针与字符串5、数组、指针作为函数的参数6、指针与函数7、指针数组第四节指针与字符串301、字符串的表示形式2、指向字符串指针变量的

7、应用30用字符数组实现。例如:charstr[]="Clanguage";用字符指针实现。例如:char*pstr="Clanguage";或char*pstr;pstr="Clanguage";1、字符串的表示形式3131例:输入一字符串并输出它。用字符指针来实现。例1:将字符串a复制到字符串b。342、指向字符串指针变量的应用34例1:将字符串a复制到字符串b。3535例2:输出字符串中的部分数据3636练习:37请读程序片段:charstr[]=”abcd”,*p=str;printf(“%d”,*(p+1));上面程序片段的输出结果

8、是()。字符'a'的ASCII码字符'b'的ASCII码字符‘a’的地址字符‘b’的地址B373.以下程序的输出结果是()。38383.以下程序的输出

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。