指针的初步学习

技术指针的初步学习 指针的初步学习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)

相关推荐

  • 2021CCPC广州站C. Necklace

    技术2021CCPC广州站C. Necklace 2021CCPC广州站C. Necklace题目:C. Necklace
    题意:
    https://codeforces.com/gym/103415/p

    礼包 2021年11月20日
  • mysql删库语句怎么写

    技术mysql删库语句怎么写这篇文章主要介绍mysql删库语句怎么写,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! mysql删库语句是“DROP DATABASE [

    攻略 2021年12月9日
  • EPPlus

    技术EPPlus EPPluspublic string ImportError(ListUser users) { string date = DateTime.Now.ToStr

    礼包 2021年12月7日
  • 如何解决nginx"504网关超时"错误

    技术如何解决nginx“504 Gateway Time-out”错误这篇文章主要介绍“如何解决nginx“504 Gateway Time-out”错误”,在日常操作中,相信很多人在如何解决nginx“504 Gate

    攻略 2021年12月21日
  • [loj3220]Terytoria

    技术[loj3220]Terytoria [loj3220]Terytoria显然两维是独立的,不妨考虑其中一维的答案
    将其离散,枚举交包含的某一段(若不存在即交为空),进而即可确定所有段的方向,用线段

    礼包 2021年12月18日
  • Redis中的基本数据类型有哪些

    技术Redis中的基本数据类型有哪些这篇文章主要讲解了“Redis中的基本数据类型有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis中的基本数据类型有哪些”吧

    攻略 2021年11月24日