- 0
- 0
- 约1.04万字
- 约 52页
- 2023-04-27 发布于广东
- 举报
; 主要内容; 8.1地址和指针的概念;;2. “间接访问”的方式。即,将变量i的地址存放在另一个变量中。;一个变量的地址称为该变量的“指针”。
例如,地址2000是变量i的指针。如果有一个变量专门用来存放另一变量的地址(即指针),则它称为“指针变量”。上述的i_pointer就是一个指针变量。;定义指针变量的一般形式为
基类型 *指针变量名;
int *i_pointer;
说明:
(1)指针变量前面的“*”,表示该变量的类型为指针型变量。
例: float *pointer_1;
指针变量名是pointer_1 ,而不是* pointer_1 。
(2)int *p;
定义指针变量p,基类型为int,则该指针p只能指向int 类型变量。
(3)定义后未赋值时,其值不确定。
int *p;
printf(“%u\n”,p);
定义了指针变量p,但该指针没有指向其他变量,因此输出不定值。;指针变量的赋值 —变量
可以用赋值语句使一个指针变量存放另一个变
量的地址,从而使它指向???个该变量。
例如:
int i=3,*p;
p=i;
printf(“%u,%u\n”,p,p);
输出指针p的地址和p中存放的内容(i的地址)。
指针变量可以有空值,即该指针变量不指向任何变量。即NULL,代码值为0,等效于0和’\0’。
int *p1,*p2,*p3;
p1=NULL;
p2=0;
p3=’\0’;;8.1.4 指针变量的引用 ;pointer_2=&b; /*把变量b的地址赋给
pointer_2 */
printf(″%d,%d\n″,a,b);
printf(″%d,%d\n″,*pointer_1, *pointer_2);
};例 8.5 输入a和b两个整数,按先大后小的顺序输出
a和b。;运行情况如下:
5,9↙
a=5,b=9
max=9,min=5
当输入a=5,b=9时,由于a<b,将p1和p2交换。交换前的情况见图(a),交换后见图(b)。;;8.1.5 指向指针的指针;例 使用指向指针的指针。 ; 8.2 数组与指针 ;定义一个指向数组元素的指针变量的方法,与以前介绍的指向变量的指针变量相同。
例如:int a[10];
int *p;
应当注意,如果数组为int型,则指针变量的基类型亦应为int型。 ;对该指针变量赋值:
p=&a[0];
一维数组的地址是数组首元素的地址,故一维数组名是一个指向数组首元素的??针常量,是一级指针
或 p=a;
数组名是一个地址常量,它代表数组的首地址
把a[0]元素的地址赋给指针变量p。也就是使p指向a数组的第0号元素.;引用一个数组元素,可以用:
(1) 下标法,如a[i]形式;
(2) 指针法,格式: *(地址+整型表达式 )
如*(a+i)或*(p+i)。其中a是数组名,p是指向数组元素的指针变量,其初值p=a。
表示数组元素地址,可以用:
(1) 下标法,如 a[i]形式;
(2) 指针法,格式: 地址+整型表达式
如 a+i或p+i。
;(1)下标法。
#include stdio.h
main()
{ int a[10];
int i;
for(i=0;i<10;i++)
scanf(″%d″,&a[i]);
printf(″\n″);
for(i=0;i<10;i++)
printf(″%d″,a[i]);
};(2) 通过数组名计算数组元素地址,找出元素的值。
#include stdio.h
void main()
{ int a[10];
int i;
for(i=0;i<10;i++ )
scanf(″%d″,&a[i]);
printf(″\n″);
for(i=0;i<10;i++)
printf(″%d″,*(a+i));
};(3) 用指针变量指向数组元素。
#include stdio.h
void main()
{ int a[10];
int *p,i;
for(i=0;i<10;i++)
scanf(″%d″,&a[i]);
printf(″\n″);
for(p=a;p<(a+10);p++)
printf(″%d ″,*p);
}; 指针运算小结;选择法如下:
#define N 10
#include “stdio.h”
main()
{
int a[10],*p,i,j,t;
for(p=a,i=0;i10;i+
您可能关注的文档
- 护理安全防护及管理.ppt
- 大众传媒的变迁.ppt
- 亲子共视的价值儿童媒体家庭传播价值解析.ppt
- 数据通信协议介绍.ppt
- 大型集团母子公司管理与控制方案.ppt
- 饕界文化节大型活动方案.ppt
- 演讲学备稿演讲.ppt
- 高等有机化学课件化学键.ppt
- Socket通信程序设计.ppt
- 复为项目合作建议书.ppt
- 七年级语文上册期末模拟试卷1(解析版).docx
- 七年级语文上册期末模拟试卷1(原卷版).docx
- 七年级语文上册期末模拟试卷2(原卷版).docx
- 七年级语文上册期末模拟试卷2(解析版).docx
- 期末测试卷(二)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(二)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
原创力文档

文档评论(0)