任务描述
本关任务:编写程序通过指针变量间接访问整型变量。
相关知识
为了完成本关任务,你需要掌握: 1.如何定义指针变量; 2.掌握两个与指针变量有关的运算符。
如何定义指针变量
指针变量指的是定义存放变量地址的变量,定义指针变量如下:
int *p1; //p1是指向int型变量的指针变量
float *p2; //p2是指向float型变量的指针变量
double *p3; //p3是指向double型变量的指针变量
char *p4; //p4是指向char型变量的指针变量
*
是一个特殊符号,表明一个变量是指针变量,定义指针变量时必须带*
,而给指针变量赋值时,就没必要再带上*
,后边可以像使用普通变量一样来使用指针变量。也就是说,定义指针变量时必须带*
,给指针变量赋值时不能带*
。
掌握两个与指针变量有关的运算符
取地址运算符“&” 指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。在 C 语言中,变量的地址是由编译系统分配的,对用户完全透明,用户不知道变量的具体地址。C 语言中提供了地址运算符&
来表示变量的地址。
其一般形式为:& 变量名
, 如&a
变示变量a
的地址,&b
表示变量b
的地址。
取内容运算符“*” 取内容运算符“*”,用来表示指针变量所指向的变量内容(值),在“*”运算符之后跟的变量必须是指针变量。
示例如下:
int *p,a;
p = &a; //给指针变量p赋值时不能带*,&a表示变量a的内存地址
scanf("%d",p); // 通过指针变量p从键盘输入数据赋给变量a,p和&a是等价的
printf("%dn",*p); // 通过指针变量p输出变量a的值,*p和a是等价的
如何利用指针变量访问不同的变量
利用指针变量,通过改变它的指向,可以实现以相同的形式输入输出不同的变量值。
编程要求
根据提示,在右侧编辑器 Begin-End 区间补充代码,输入输出两个变量的值。
测试说明
平台会对你编写的代码进行测试:
测试输入: 100
200
预期输出: 100
200
#include <stdio.h>
int main()
{ int x,y;int *p; //定义指针变量pp=&x; //使指针变量p指向一个变量x/***** 请在以下填写通过p输入输出x值代码 *****//********** Begin **********/scanf("%d",p);printf("%dn",*p);/********** End **********/p=&y; //使指针变量p指向另一个变量y/***** 请在以下填写通过p输入输出y值代码 *****//********** Begin **********/scanf("%d",p);printf("%dn",*p);/********** End **********/return 0;
}
本文发布于:2024-02-02 13:42:38,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170685255744182.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |