上机实验?/p>
指针
一.目的要?/p>
1.
掌握指针的基本概念?/p>
2.
掌握指针变量的定义和初始化?/p>
二.实验内容
【实验题
1
】程序填空,交换指针
p1,p2
所指向的变量?/p>
# include <stdio.h>
void main ( )
{
int
a=1,b=2, *p1, *p2, *pt;
p1=&a;
p2=&b;
printf(
?/p>
p1=%d, p2=%d \n
?/p>
, p1,p2);
//
交换指针变量
p1,p2
所指向的变?/p>
pt= p1
;
p1=p2
;
p2=pt
;
//
注意:这三个指针变量前均无间接引用符
*
printf(
?/p>
p1=%d, p2=%d \n
?/p>
, p1,p2);
}
运行结果?/p>
(注意:输出的是
p1
?/p>
p2
所指变量的地址,即变量
a
?/p>
b
的地址?/p>
【实验题
2
】程序填空,交换指针
p1,p2
所?/p>
变量的?/p>
?/p>
# include <stdio.h>
void main ( )
{
int
a=1,b=2, *p1, *p2
, temp
;
p1=&a;
p2=&b;
printf(
?/p>
*p1=%d, *p2=%d \n
?/p>
, *p1,*p2);
//
交换
p1,p2
所指向的变量的?/p>
temp= *p1
;
*p1= *p2
;
*p2= temp
;
//
注意?/p>
temp
是普通变量,而指?/p>
p1,p2
前均使用间接引用?/p>
*
printf(
?/p>
*p1=%d, *p2=%d \n
?/p>
, *p1,*p2);
}
运行结果?/p>
(注意:指针前加
*,
代表指针所指变量)
【实验题
3
】程序填空:输入三个整型变量
i,j,k
的值。请设置三个指针变量
p1,p2,p3,
分别指向
i,j,k
?/p>
然后通过
p1,p2,p3
?/p>
i,j,k
三个变量的值依次交换,即原?/p>
i
的值赋?/p>
j,
原来
j
的值赋?/p>
k,
原来
k
?/p>
值赋?/p>
i
。输出交换后
i,j,k
的值?/p>