3.5 实验指针
3.5.1 实验类型:验证型实验2 学时
3.5.2 实验目的
1、掌握指针的概念、学会定义和使用指针变量;
2、学习使用指针数组和指向数组的指针;
3、学习使用指向字符串的指针变量;
3.5.3 知识点介绍
1、指针就是地址,一个变量的地址成为给变量的指针。指针变量就是用来专门存放另一个变量的地址。若果一个指针变量存放另一个变量的地址,我们就说指针变量指向该变量。
2、指针变量的类型是其指向变量或常量的数据类型,指针变量本身在内存中只占四个字节。
3、指针作为函数参数时不会改变实参指针变量的值,但可以改变实参所指向变量的值。
4、数组名代表数组的首地址,是一个指针常量。可以用一个指针变量指向一个数组,通过该指针可以对数组任意操作。
5、函数指针:函数名代表函数函数的入口地址,可以定义指向函数的指针变量用来指向函数。指针函数:函数返回值是指针(地址)。
6、指针运算灵活,但容易出错。
3.5.4 实验内容
题目1 程序分析
输入下列程序,运行它,分析得到的结果。
要求:
1、给本题代码加上适当的注释,编译调试,分析说明程序运行结果。
2、如果将swap 函数改为如下形式,程序运行结果是什么?分析说明。
void swappionter(int *p1,int *p2)
{
int * temp;
temp = p1;
p1 = p2;
p2 = temp;
}
3、如果将swap 函数改为如下形式,主函数中函数调用改为:swap( iv1, iv2 );程序运行结果是什么?分析说明。
void swap(int &p1,int &p2)
{
int temp;
temp = p1;
p1 = p2;
p2 = temp;
}
[实验提示]
注意区分指针的值和指针指向对象的值。
[测试数据]
自己修改程序中部分代码,调试运行。
[思考与扩展]
1 归纳说明普通变量作形参、指针作形参、引用作函数形参得区别。
题目二编写程序,从键盘输入三个数,并且按由大到小的顺序排列出来。<用指针完成>