指针的初步学习

技术指针的初步学习 指针的初步学习1.指针变量计算机将内存分割为字节,字节可以存储八位的信息,而每个字节都有唯一的地址。如下,如果内存中有n个字节,可以把地址看作0到n-1的数地址
内容0  
0101

指针的初步学习

1.指针变量

把内存分成字节,可以存储八位信息,每个字节都有一个唯一的地址。如下所示,如果内存中有n个字节,地址可以看作是从0到n-1的数字。

地址

内容

0

01010011

一个

01110101

2

01110011

因此,在计算机中,每个变量都有一个对应的字节地址。如果一个变量占用一个以上的字节,第一个字节的地址称为该变量的地址。

由于地址的取值范围不同于整数,我们需要使用特殊的指针变量来存储地址。

比如p是指针变量,存储I的地址,假设p指向I;

2.指针变量的声明

int * p;

如上所述,int是类型,而*p是指针变量;它指向一个int类型的变量;

3.取地址运算符和间接寻址运算符

上面说了指针的说法,但没有把指针指向对象;

例如int * p=I;

即I的地址赋给指针变量P,即P指向I;

间接取址运算符

一旦指针变量指向一个对象,就可以使用*(间接寻址)来访问该对象的内容。

如果*p指向I,则I=5;

Printf ("%d ",*p)将输出5。

对于*和*,可以把*看作的逆运算。使用运算符生成指向变量的指针(即地址),使用*运算符返回原始变量。

J=*i和j=i的意思相同。

对于指向我的p,它意味着指向我所在的空间。你可以想象把我放在一个固定的柜子里。p表示机柜的位置。

因此,*p和我不仅具有相同的值。* p的变化也会改变I的值。

要求实现一个计算输入的两数的和与差的简单函数。的例子

void sum_diff(float op1、float op2、float *psum、float *pdiff)

{

* psum=op1 op2

* pdiff=op1-op2;

}

有如

*psum和*pdiff

传入变量的地址。您可以在函数中操作存储在变量空间中的东西,而无需函数传入值然后返回值。

就像知道柜子在哪里一样,我们用这个功能来存放、取出和更换柜子里的东西。

3指针赋值

语言允许指针与赋值操作符一起复制,但是这两个指针需要是相同的类型。

int i,j、*p、* q;

句子

p=I;

q=p;

我把I的地址抄给了P;

第二句直接把P的内容赋给Q;p和Q的作用相同,都指向I的地址,也就是I的变量空间。

但是

* p=* q;

不一样,这句话的意思是Q指向的变量值赋给p指向的变量。

如上*可视为的逆运算。因此

可以理解为:

指向I变量的p指针被认为是p=I;

q指向j变量,即q=j;

而*q是*q=*j

就是j变量本身。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/92781.html

(0)

相关推荐

  • 串口调试工具kermit如何安装和配置

    技术串口调试工具kermit如何安装和配置这篇文章主要介绍了串口调试工具kermit如何安装和配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、ker

    攻略 2021年11月25日
  • 前端浏览器的工作原理是什么

    技术前端浏览器的工作原理是什么这期内容当中小编将会给大家带来有关前端浏览器的工作原理是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。浏览器架构在讲浏览器架构之前,先理解两个概念,进

    攻略 2021年12月3日
  • 腰包怎么背,男生背包有什么时尚的款式

    技术腰包怎么背,男生背包有什么时尚的款式1.手提袋轻便百搭又时髦 图文来源 《VOGUE服饰与美容》相比邮差包腰包怎么背,手提袋更加轻便,而且负重能力不容小觑,市面上大多数手提袋容量都不小,把书、Macbook、钱包、钥

    生活 2021年11月1日
  • Python制作动态词频条形图的过程是怎样的

    技术Python制作动态词频条形图的过程是怎样的这篇文章给大家介绍Python制作动态词频条形图的过程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。前言”数据可视化“这个话题,相信大家并不陌

    攻略 2021年11月11日
  • taskeng.exe是什么进程

    技术taskeng.exe是什么进程这篇文章主要介绍“taskeng.exe是什么进程”,在日常操作中,相信很多人在taskeng.exe是什么进程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家

    2021年10月25日
  • 20211214

    技术20211214 20211214微前端
    什么是微前端搞微前端目的就是要将产品原子化,由庞大的应用体系拆分为多个模块,再根据客户业务场景进行组合。每个功能模块能单独迭代,自由集成。微前端不是框架,不

    礼包 2021年12月15日