null第八章 指针第八章 指针教学目的
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
:
1、重点掌握指针与指针变量
2、重点掌握并能灵活运用指针作为函数参数
3、了解指针函数和指向函数的指针
4、掌握指针与字符串以及指针数组
5、了解命令行参数
重点·难点:
1、指针与指针变量
2、指针作为函数参数
3、指针函数和指向函数的指针
4、指针与字符串以及指针数组
5、二维数组与多维数组的指针表示法null一、基本数据类型
整型、实型和字符型—单个数据处理。二、构造类型
数组—处理相同数据类型的数据集合。三、指针
是一种特殊的数据类型,通过它可以对
基本类型变量、数组变量等灵活的进行访问。数据类型回顾章节总览 指针是C语言中的一个重要的概念,也是C语言中的一个重要特色。正确灵活的使用指针:章节总览(1) 可以有效的表示复杂的数据结构;(2) 能动态分配内存;(3) 能方便使用字符串;(4) 有效而方便的使用数组;(5) 在调用函数时能得到多于1个的值,
能直接处理内存地址。 地址的概念(1)2.根据内存单元的地址访问内存单元的内容的方式(1)直接访问:
(2)间接访问: 变量的地址存放在另一个变量中
的方式称为“间接访问”方式。
如:i_pointer=&i;一、地址:地址的概念(1)指针变量另一个变量 按变量地址存取变量值的方式称为“直接访问”方式。1.定义:内存的每一个字节有一个编号,这就是地址。指针的概念(1 )指针的概念(1 )指针是存放另一个变量地址的变量
指针也是一种数据类型指针的概念( 2 )二、指针:
1.指针:
2.指针变量:
3.指针和指针变量的关系:
指针的概念( 2 )一个变量的地址称为该变量的“指针”。 如果有一个变量专门用来存放另一变量
的地 址,则它称为“指针变量” (即指针) 。 指针变量的值(指针变量中存 放的值)
是指针(地址)。指针变量(1)一、指针变量的定义和赋值:
1、概述:
(1)指针变量不同于整型变量和其他类型变量,它是用来
专门存放地址的。必须将它定义为“指针类型”。
(2)指针变量的基类型用来指定指针变量所指向的变量
的类型,不可缺少。
pointer_1,pointer_2用来指向整型变量,但不可以用来指向其他类型的变量。指针变量(1)例如: int i , j ;
int *pointer_1 , *pointer_2 ;指针变量(2)2 、定义的一般形式:基类型 *指针变量名
3、赋值:一个指针变量指向另一个变量:
如:pointer_1=&i;
pointer_2=&j;
变量i , j 的地址被分别存放到指针变量pointer_1和pointer_2
中,这样,pointer_1指向了变量i , pointer_2指向了变量j。指针变量(2)注意:定义时, “*”表示该变量的类型为指针类型;
而指针变量的名称为:pointer_1,pointer_2注意:指针变量中只能存放地址(指针),不能将任
何其他非 地址类型的数据赋给一个指针变量。 pointer_1=100; 是非法的。指针变量(3)指针变量(3)二、指针变量的使用:1、 两个有关的运算符:
(1)& 取地址运算符
(2)* 指针运算符(或称“间接访问”运算符),非定义
时出现,用于求指针(地址)所指向的变量。例如: int a , * p; p=&a; *p=3;
& a 为变量 a 的地址
* p 为指针变量p所指向的变量a变量的指针和指向变量
的指针变量总述:
1、变量的指针就是变量的地址。
2、存放变量地址的变量是指针变量,用来指向另一个
变量。
3、为了表示指针变量和它所指向的变量之间的联系,
在程序中非定义时用“*”表示“指向”。
例如:已知:int i , * p; p=&i ;下列两个语句作用相同
(1) i=3; (2)*i_pointer = 3;
变量的指针和指向变量
的指针变量指针变量i_pointer,与普通变量的区别;
*i_pointer是i_pointer所指向的变量
*i_pointer也是一个变量,它和所指向的普通变量是等价的指针变量举例(1)指针变量举例(1)main()
{
int a , b ;
int *pointer_1 , *pointer_2 ;
a=100 ; b=10 ;
pointer_1=&a;
pointer_2=&b;
printf("%d,%d\n", a , b );
printf("%d,%d\n", *pointer_1 , *pointer_2 );
}结果:
100,10
100,10/*把变量a的地址给pointer_1*//*把变量b的地址给pointer_2*/指针变量(4)关于& 和 * 的运算(& 和 * 的优先级相同)
(1)若有&*pointer_1
(2)若有*&a
(3)(*pointer_1) + +指针变量(4)再进行 * 运算,得到 & a 所指向的变量& a*pointer_ia先进行*pointer_i的运算,即为变量a;再进行&运算,即为&a;表达式的值最终为 a 的地址先进行 & a 运算,得到 a 的地址,即pointer_1或 &a;a+ +int a, *pointer_1;
pointer_1= &a;null(1) int *p=&a; (2)*p=a;
A.语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值
B.(1)和(2)语句的执行结果,都是把变量a的地址值赋给指针变量p.
C.(1)在对p进行说明的同时进行初始化,使p指向a;(2)将变量a的值赋给指针变量p
D.(1)在对p进行说明的同时进行初始化,使p指向a;(2)将变量a的值赋给*p例 若已定义int a=5;下面对
(1)、(2)两个语句的正确解释是:答案:D指针变量举例(2)指针变量举例(2)main()
{
int *p1, *p2, *p, a, b;
p1=&a; p2=&b;
scanf("%d,%d",&a,&b);
if(a
q 若为真则表示p在数组中指向的数组元素排列在q所指向的元素之后。
注意:要求p、q为同类型的指针变量指 针 变 量(5)指 针 变 量(5)三、指针变量作为函数参数:
(1) 函数的形参的类型不仅可以是整型、实型、字
符型等数据,还可以是指针类型。
作用:是将一个变量的地址传送到函数中。
(2)函数的类型(返回值的类型)也可以是指针类型指 针 变 量 举 例(3)指 针 变 量 举 例(3)swap(int *p1,int *p2)
{ int temp;
temp=*p1;
*p1=*p2;
*p2=temp; }
main()
{ int a,b;
int *pointer_1,*pointer_2;
scanf("%d,%d",&a,&b);
pointer_1=&a; pointer_2=&b;
if(a
本文档为【C语言 第八章 指针】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。