《C语言程序设计教程》第7章 指针

第7章指针
第7章 指 针

7,1指针的基本概念 7.2指针变量 73数组与指钍 74字符串与指钍 75指针数组与指向指针的指钍 7.6函数与指针 7,7程序举例
7.1 指针的基本概念 7.2 指针变量 7.3 数组与指针 7.4 字符串与指针 7.5 指针数组与指向指针的指针 7.6 函数与指针 7.7 程序举例

71指针的基本概念 (1)直接存取 所谓直接存取,是指在程序执行过程中需要存取变 量值时,直接存取变量所占内存单元中的内容。 (2)间接存取 所谓间接存取,是指为了要存取一个变量值,首先 从存放变量地址的指针变量中取得该变量的存储地址, 然后再从该地址中存取该变量值。 没回日录
7.1 指针的基本概念 (1)直接存取 所谓直接存取,是指在程序执行过程中需要存取变 量值时,直接存取变量所占内存单元中的内容。 (2)间接存取 所谓间接存取,是指为了要存取一个变量值,首先 从存放变量地址的指针变量中取得该变量的存储地址, 然后再从该地址中存取该变量值

在C语言中,用符号“*”表示“指向”,反映指针 变量与它所指的变量之间的联系: (1)在变量类型说明中,变量前加“*”用于区别 于普通变量。 (2)在表达式中,变量前加“*”表示间接访问
在C语言中,用符号“*”表示“指向”,反映指针 变量与它所指的变量之间的联系: (1)在变量类型说明中,变量前加“*”用于区别 于普通变量。 (2)在表达式中,变量前加“*”表示间接访问

7.2指针变量 72.1指针变量的定义与引用 变量的指针就是变量的地址,即指针变量用于存放变 量的地址(即指向变量) 定义指针变量的一般形式为 类型标识符*指针变量名; 没回日录
7.2 指针变量 7.2.1 指针变量的定义与引用 变量的指针就是变量的地址,即指针变量用于存放变 量的地址(即指向变量)。 定义指针变量的一般形式为 类型标识符 *指针变量名;

下面对指针变量作几点说明 (1)指针变量名前的“*”表示该变量为指针变量,而指针 变量名不包含该“”。 (2)一个指针变量只能指向同一类型的变量 (3)指针变量中只能存放地址,而不能将数值型数据赋给 指针变量 (4)只有当指针变量中具有确定地址后才能被引用。 (5)与一般的变量一样,也可以对指针变量进行初始化
下面对指针变量作几点说明: (1)指针变量名前的“*”表示该变量为指针变量,而指针 变量名不包含该“*” 。 (2)一个指针变量只能指向同一类型的变量。 (3)指针变量中只能存放地址,而不能将数值型数据赋给 指针变量。 (4)只有当指针变量中具有确定地址后才能被引用。 (5)与一般的变量一样,也可以对指针变量进行初始化

722指针变量作为函数参数 与普通变量一样,指针变量也可以作为函数参数。利 用指针变量作为函数的形参,可以使函数通过指针变量返 回指针变量所指向的变量值,从而实现函数调用函数与被 调用函数之间数据的双向传递 在用指针变量作为函数形参时,其实参也应为指针变 量
7.2.2 指针变量作为函数参数 与普通变量一样,指针变量也可以作为函数参数。利 用指针变量作为函数的形参,可以使函数通过指针变量返 回指针变量所指向的变量值,从而实现函数调用函数与被 调用函数之间数据的双向传递。 在用指针变量作为函数形参时,其实参也应为指针变 量

例72利用指针变量实现两个变量值的互换 其C程序如下: #include stdio. h" swap(pl, p2) int *pl,p2 i int t; p1; 02=t; return; mainO f int a, b scanf(%d, %d", &a,&b); printf("a=%od, b=%dn", a, b); Swa p(&a,&b); printf("a=%d, b=%dn", a, b);
例7.2 利用指针变量实现两个变量值的互换。 其C程序如下: #include "stdio.h" swap(p1,p2) int *p1, *p2; { int t; t=*p1;*p1=*p2;*p2=t; return; } main() { int a, b; scanf("%d,%d",&a,&b); printf("a=%d,b=%d\n",a,b); swap(&a,&b); printf("a=%d,b=%d\n",a,b); }

73数组与指针 73.1数组的指针与数组元素的指针 所谓数组的指针是指数组的首地址。数组元素的指 针是指数组元素的地址。因此,同样可以用指针变量来 指向数组或数组元素。 没回日录
7.3 数组与指针 7.3.1 数组的指针与数组元素的指针 所谓数组的指针是指数组的首地址。数组元素的指 针是指数组元素的地址。因此,同样可以用指针变量来 指向数组或数组元素

例7.3下列C程序是从键盘为数组元素输入数据 #include 'stdio. h'r mainO int a 10], i; for(i=0;i<10;i=i+1) scanf(%d",&aiD; printf("n"); for(i=0;i<10;i=i+1) printf("%5dn,aiD);
例7.3 下列C程序是从键盘为数组元素输入数据: #include "stdio.h" main() { int a[10],i; for (i=0;i<10;i=i+1) scanf("%d",&a[i]); printf("\n"); for (i=0;i<10;i=i+1) printf("%5d\n",a[i]); }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言程序设计教程》第6章 数组.ppt
- 《C语言程序设计教程》第5章 模块设计.ppt
- 《C语言程序设计教程》第4章 循环结构.ppt
- 《C语言程序设计教程》第3章 选择结构.ppt
- 《C语言程序设计教程》第2章 C程序的基本组成.ppt
- 《C语言程序设计教程》第1章 绪论.ppt
- 《C语言程序设计教程》第10章 位运算.ppt
- 《多媒体技术与应用》第三章 音频与图像信息的获取与处理.ppt
- 《多媒体技术与应用》第七章 网络多媒体应用设计.ppt
- 《多媒体技术与应用》第六章 多媒体创作工具.ppt
- 《多媒体技术与应用》第五章 多媒体应用设计.ppt
- 《多媒体技术与应用》第四章 视频与动画的编辑与制作.ppt
- 《多媒体技术与应用》第二章 多媒体的硬件和软件环境的建立.ppt
- 《多媒体技术与应用》第一章 多媒体基础.ppt
- 《多媒体技术与应用》目录.ppt
- 天津大学:《数值计算》课程教学资源(讲稿)第五章 常微分方程数值解(5.2)Runge-Kuta法.pdf
- 天津大学:《数值计算》课程教学资源(讲稿)第五章 常微分方程数值解(5.1).pdf
- 天津大学:《数值计算》课程教学资源(讲稿)第三章 插值法和最小二乘法(3.7)数据拟合(最小二乘法).pdf
- 天津大学:《数值计算》课程教学资源(讲稿)第三章 插值法和最小二乘法(3.6)三次样条插值.pdf
- 天津大学:《数值计算》课程教学资源(讲稿)第三章 插值法和最小二乘法(3.5)Hermite插值法.pdf
- 《C语言程序设计教程》第8章 结构体与联合体.ppt
- 《C语言程序设计教程》第9章 文件.ppt
- 《单片机》第7章 80C51的系统扩展.ppt
- 《单片机》第8章 80C51的测控接口.ppt
- 《单片机》第三讲 中断定时与串口.ppt
- 《单片机》第6章 80C51的串行口.ppt
- 《单片机》第4章 80C51的程序设计.ppt
- 《单片机》第1章 单片机概述.ppt
- 《单片机》第3章 指令系统.ppt
- 《单片机》第2章 MCS-51系列单片机的基本结构.ppt
- 《单片机》第5章 80C51的中断系统及定时/计数器.ppt
- 《单片机》第5章 80C51的中断系统及定时/计数器续.ppt
- 《单片机》第4章 汇编语言程序设计.ppt
- 《单片机》第4章 80C51的程序设计.ppt
- 《数据库原理及应用》PPT教学课件:前言(刘占文主编).ppt
- 《数据库原理及应用》PPT教学课件:第一章 概论.ppt
- 《数据库原理及应用》PPT教学课件:第七章 数据库系统的开发技术.ppt
- 《数据库原理及应用》PPT教学课件:第三章 关系数据库查询语言SQL.ppt
- 《数据库原理及应用》PPT教学课件:第二章 关系数据库.ppt
- 《数据库原理及应用》PPT教学课件:第八章 数据库应用开发实例.ppt