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

阅读: 评论:0

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

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("%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 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23