educoder数据结构与算法 复习指针基本概念 第1关:通过指针变量间接访问变量

任务描述

本关任务:编写程序通过指针变量间接访问整型变量。

相关知识

为了完成本关任务,你需要掌握: 1.如何定义指针变量; 2.掌握两个与指针变量有关的运算符。

如何定义指针变量

指针变量指的是定义存放变量地址的变量,定义指针变量如下:


  1. int *p1; //p1是指向int型变量的指针变量
  2. float *p2; //p2是指向float型变量的指针变量
  3. double *p3; //p3是指向double型变量的指针变量
  4. char *p4; //p4是指向char型变量的指针变量

*是一个特殊符号,表明一个变量是指针变量,定义指针变量时必须带*,而给指针变量赋值时,就没必要再带上*,后边可以像使用普通变量一样来使用指针变量。也就是说,定义指针变量时必须带*,给指针变量赋值时不能带*

掌握两个与指针变量有关的运算符

取地址运算符“&” 指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。在 C 语言中,变量的地址是由编译系统分配的,对用户完全透明,用户不知道变量的具体地址。C 语言中提供了地址运算符&来表示变量的地址。

其一般形式为:& 变量名, 如&a变示变量a的地址,&b表示变量b的地址。

取内容运算符“*” 取内容运算符“*”,用来表示指针变量所指向的变量内容(值),在“*”运算符之后跟的变量必须是指针变量。

示例如下:


  1. int *p,a;
  2. p = &a; //给指针变量p赋值时不能带*,&a表示变量a的内存地址
  3. scanf("%d",p); // 通过指针变量p从键盘输入数据赋给变量a,p和&a是等价的
  4. printf("%d\n",*p); // 通过指针变量p输出变量a的值,*p和a是等价的

如何利用指针变量访问不同的变量

利用指针变量,通过改变它的指向,可以实现以相同的形式输入输出不同的变量值。

编程要求

根据提示,在右侧编辑器 Begin-End 区间补充代码,输入输出两个变量的值。

测试说明

平台会对你编写的代码进行测试:

测试输入: 100 200 预期输出: 100 200

#include 
int main()
{ 
	int x,y;
	int *p;             //定义指针变量p
	p=&x;             //使指针变量p指向一个变量x
    /***** 请在以下填写通过p输入输出x值代码 *****/
	/********** Begin **********/
    scanf("%d",p);
	printf("%d\n",*p);
    
    /********** End **********/
    p=&y;             //使指针变量p指向另一个变量y
	/***** 请在以下填写通过p输入输出y值代码 *****/
	/********** Begin **********/
    scanf("%d",p);
	printf("%d\n",*p);
    
    /********** End **********/
	return 0;
}

你可能感兴趣的:(educoder数据结构与算法,数据结构,算法,c语言)