1 / 44
文档名称:

计算机程序设计基础——第九讲[1].ppt

格式:ppt   页数:44
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机程序设计基础——第九讲[1].ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

计算机程序设计基础——第九讲[1].ppt

文档介绍

文档介绍:第九讲指针
1
指针是C语言中的一个重要概念。掌握指针的用法,可使程序简洁、高效、灵活,但并不难学。
为了了解什么是指针,先看一个小故事地下工作者阿金接到上级指令,要去寻找打开密电码的密钥,这是一个整数。几经周折,才探知如下线索,密钥藏在一栋三年前就被贴上封条的小楼中。一个风雨交加的夜晚,阿金潜入了小楼,房间很多,不知该进哪一间,正在一筹莫展之际,忽然走廊上的电话铃声响起。艺高人胆大,阿金毫不迟疑,抓起听筒,只听一个陌生人说:“去打开211房间,那里有线索”。阿金疾步上楼,打开211房间,用电筒一照,只见桌上赫然6个大字:地址1000。阿金眼睛一亮,迅速找到1000房间,取出重要数据66,完成了任务。
2
我们画出下图
1000

66

211
1000
P
说明:
1、数据藏在一个内存地址单元中,地址是1000。
2、地址1000又由P单元所指认,P单元的地址为211。
3、66的直接地址是1000;66的间接地址是211;211中存的是直接地址1000。
4、称P为指针变量,1000是指针变量的值,实际上是有用数据藏在存储器中的地址。
3
指针变量——用来存放另一变量地址的变量 变量的指针就是变量的地址。
1、指针的概念
指针是一种特殊的变量,特殊性表现在类型和值上。
从变量讲,指针也具有变量的三个要素:
(1)变量名,这与一般变量取名相同,由英文字符开始。
(2)指针变量的类型,是指针所指向的变量的类型,而不是自身的类型。
(3)指针的值是某个变量的内存地址。
4
从上面的概念可知,指针本身类型是int型,因为任何内存地址都是整型的。但是指针变量的类型却定义成它所指向的变量的类型。
2、指针的定义(说明,先说明后引用)
例如:
int *p, *q; // 定义p,q为指向整数类型变量的指针
float *point; // 定义point为指向float型变量的指针
double *pd; // 定义pd为指向double型变量的指针
int (*pa)[10]; // 定义pa为指向int型数组的指针
int (*pu)(); // 定义pu为指向int型函数的指针
int **qq; // 定义qq为指向int型指针的指针
还有指向结构、联合的指针,后面再介绍
5
3、指针赋值

int akey; // 定义一个整型变量akey
int *p,*q; // 定义p,q为指向整型变量的指针变量
akey=66; // 将66赋给akey
p = &akey; //将变量akey的地址赋给p,这时见图1
q = p; // 将p的值赋给q,见图2
6
q = p; // 将p的值赋给q,见图2
7
//
#include <> //预编译命令
void main() //主函数
{ //函数体开始
int a[5]={0,1,2,3,4}; //定义数组,赋初值
int *p1,*p2; //定义指针变量
p1=&a[1]; //赋值给指针变量,让p1指向a[1]
p2=&a[2]; //赋值给指针变量,让p2指向a[2]
printf("a[1]=%d;a[2]=%d\n",*p1,*p2); //输出a[1]和a[2]的值
} //函数体结束
8
说明:见图
0
1
2
3
4
&a[0]
&a[1]
&a[2]
&a[3]
&a[4]
&a[1]
&a[2]
&p1
&p2
p1
p2
p1和p2分别指向a[1],a[2],这里
& ——取地址运算符
* ——指针运算符(间接访问运算符)
*p1——间接访问p1所指向的内存单元,当然是输出a[1]的值
*p2——间接访问p2所指向的内存单元,当然是输出a[2]的值
9
//
#include <> //预编译命令
void main() //主函数
{ //函数体开始
int akey,b; //定义整型变量
int *p,*q; //定义指针变量
akey=66; //赋值给变量akey
p=&akey; //赋值给指针变量p,让p指向变量akey
q=&b; //赋值给指针变量q,让q指向变量b
*q=*p; //将p所指向的akey的值赋给q所指向的变量b
printf("b=%d\n",b); //输出b的值
printf("*q=%d\n",*q); //输出b的值
} //函数体结束
4、向指针所指向的内存单元赋值
10

最近更新

2025年晋城职业技术学院单招职业倾向性测试题.. 42页

2025年景德镇陶瓷职业技术学院单招职业倾向性.. 40页

2025年曲靖职业技术学院单招职业倾向性测试题.. 40页

2025年朔州师范高等专科学校单招职业倾向性测.. 41页

2025年杨凌职业技术学院单招职业倾向性考试模.. 40页

2025年杭州医学院单招职业倾向性考试模拟测试.. 41页

2025年杭州职业技术学院单招职业倾向性测试题.. 42页

2025年林州建筑职业技术学院单招职业倾向性测.. 40页

2025年枣庄职业学院单招职业倾向性测试题库必.. 40页

2025年柳州职业技术学院单招职业倾向性测试题.. 39页

2025年株洲师范高等专科学校单招职业技能测试.. 40页

2025年桂林山水职业学院单招职业技能测试模拟.. 40页

2025年桂林生命与健康职业技术学院单招职业技.. 41页

2025年武夷山职业学院单招职业倾向性考试模拟.. 41页

2025年武汉信息传播职业技术学院单招职业技能.. 40页

2025年武汉民政职业学院单招职业技能测试模拟.. 40页

2025年毕节医学高等专科学校单招职业倾向性考.. 40页

2025年毕节职业技术学院单招职业倾向性考试模.. 39页

2025年汉中职业技术学院单招职业倾向性考试模.. 41页

2025年汕尾职业技术学院单招职业倾向性测试题.. 39页

2025年江南影视艺术职业学院单招综合素质考试.. 40页

2025年江汉艺术职业学院单招职业适应性考试模.. 41页

2025年江苏农牧科技职业学院单招职业适应性测.. 39页

2025年江苏工程职业技术学院单招职业适应性考.. 39页

2025年江苏海事职业技术学院单招职业适应性测.. 41页

2025年江苏省南通市单招职业适应性考试模拟测.. 39页

2025年江苏省无锡市单招职业适应性测试模拟测.. 42页

2025年江苏财会职业学院单招职业倾向性考试模.. 40页

【人教版英语字帖】七年级下册单词表衡水体字.. 42页

国开《建筑力学》期末机考答案 15页