首页 > 其他分享 >通过指针变量访问整型变量

通过指针变量访问整型变量

时间:2024-06-02 13:03:50浏览次数:17  
标签:变量 指向 运算符 地址 整型 pointer 指针

有两个与指针变量有关的运算符:
(1)&取地址运算符
(2)*指针运算符(或称间接访问运算符)。
例如:&a为变量a的地址,*p为指针变量p所指向的存储单元。

编写程序:

运行结果:

程序分析:
        (1)在程序第5行虽然定义了两个指针变量pointer_1和pointer_2,但它们并未指向任何一个整型变量,而只是提供两个基类型为整型的指针变量。它们可以指向整型变量,至于指向哪一个整型变量,要在程序语句中指定。程序第7行和第8行的作用就是使pointer_1指向a, pointer_2指向b。此时 pointer_1的值为&a(即a的地址),pointer_2的值为&b。
        (2)第10行的*pointer_1和*pointer_2就是变量a和b。最后两个cout语句的作用是相同的。
        (3)第7、8行"pointer_1=&a;"和"pointer_2=&b;"是将a和b的地址分别赋给pointer_1和pointer_2。注意不应写成"*pointer_1=&a;"和" *pointer_2=&b;"。因为a的地址是赋给指针变量pointer_1,而不是赋给*pointer_1(即变量a)。

对"&"和"*"运算符的说明:
        (1)如果已执行了"pointer_1=&a;"语句,请问&* pointer_1的含义是什么?"&"和"*"两个运算符的优先级别相同,但按自右而左方向结合,因此先进行*pointer_1的运算,它就是变量a,再执行&运算。因此,&*pointer_1与&a相同,即变量a的地址。
        如果有
        pointer_2=&*pointer_1;
它的作用是将&a(a的地址)赋给 pointer_2,如果pointer_2原来指向b,经过重新赋值后它已不再指向b了,而也指向了a。
        (2)*&a 的含义是什么?先进行 &a 的运算,得a的地址,再进行*运算,即&a所指向的变量,*&a和*pointer_1的作用是一样的(假设已执行了"pointer_1 =&a;"),它们等价于变量a,即*&a与a等价。

标签:变量,指向,运算符,地址,整型,pointer,指针
From: https://blog.csdn.net/2301_80138271/article/details/139377146

相关文章

  • 嵌入式开发中广泛采用全局变量的考虑
    嵌入式开发中广泛采用全局变量的考虑2024-06-0210:26:57星期日在知乎上看到这个问题,C语言开发单片机为什么大多数都采用全局变量的形式?,才发觉在嵌入式开发中,使用全局变量的广泛程度远远高于纯软开发。在最近半年的TICC2530Zigbee开发和在实习单位的开发工作过程中,对全局变量......
  • 双指针练习:盛水最多的容器
    题目链接:11.盛水最多的容器题目描述:给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i,0) 和 (i,height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜......
  • 双指针练习:复写0
    1.题目链接:1089.复写零2.题目描述:给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改,不要从函数返回任何东西。3.解法(原地复写-双指针):算法......
  • 互斥锁与条件变量学习与应用小结
    互斥锁,也叫互斥量。有以下几个显著的特点:唯一性:互斥锁保证在任何给定的时间点,只有一个线程可以获得对临界区资源的访问权。如果一个线程锁定了一个互斥量,在它解除锁定之前,没有其他线程可以锁定这个互斥量。原子性:锁定和解锁互斥锁的操作是原子的,这意味着操作系统(或pthread函......
  • 指针的详解延续二
     第一篇移步CSDNhttps://mp.csdn.net/mp_blog/creation/editor/139301675 第二篇移步CSDN​​​​​​​​​​​https://mp.csdn.net/mp_blog/creation/editor/139329194目录一、指针数组二、字符指针变量三、数组指针变量四、二维数组传参的本质五、函数指针变量 ......
  • 旅行第五天【算法】双指针-----三数之和+四数之和
    文章目录一、题目二、算法原理三、编写代码四、题目五、算法原理六、编写代码一、题目链接:三数之和二、算法原理首先是解法一:暴力解法(其实有必要思考一下,不用把程序写出来,写伪代码就可以了,因为优化后算法的代码是建立在暴力解法的基础上的)三个指针,分别依次......
  • 深入解析力扣170题:两数之和 III - 数据结构设计(哈希表与双指针法详解及模拟面试问答)
    在本篇文章中,我们将详细解读力扣第170题“两数之和III-数据结构设计”。通过学习本篇文章,读者将掌握如何设计一个数据结构来支持两种操作,并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释和ASCII图解,以便于理解。问题描述力扣第170题“两数之和III......
  • 第2章 变量和简单数据类型
            在本章中,你将学习可在Python程序中使用的各种数据,还将学习如何将数据存储到变量中,以及如何在程序中使用这些变量。2.1运行hello_world.py时发生的情况        运行hello_world.py时,Python都做了些什么呢?下面来深入研究一下。实际上,即便是运行简单......
  • 【C/C++】--- 指针详解 2.0
    接下来进入指针的进阶部分,准备好大脑补充:(重点)数组名是数组首元素地址数组首元素地址和数组地址,值相同,但本质不同,区别在于二者的类型不相同比如数组intarr[10];数组首元素地址的类型:首先这是一个地址所以要用指针接收,(),然后是地址指向元素的类型为int,所以这个指针的......
  • day1 指针学习
    一指针的定义方法1.1简单指针数据类型*指针变量名称intp//定义了一个指针变量,为整形在定义指针变量时,是用来修饰变量的,说明变量p是一个指针变量。变量名是p2关于指针的运算符&为取地址符,*:在定义一个指针变量时,起到标识的作用,标识定义的是一个指针变量,除此之外其他地方......