首页 > 编程知识 正文

数据指针,指针变量的类型

时间:2023-05-04 19:28:55 阅读:107527 作者:1856

指针和指针变量的关系指针是地址,地址是指针。 地址是指1001 (地址值(简称地址)可以是小数或负数)等存储器单元的编号。 指针变量是指存储存储器地址的变量。 请注意,指针和指针变量是两个不同的概念,但指针变量通常称为指针,实际上含义不同。

p,*p和p之间的差异*取值的运算符

取地址运算符

p是指针变量,存储同一类型的另一个变量的地址

*p表示p所指的变量值,即p存储位置的对应变量值。 如下图所示,p存储变量I的地址,*p取变量I的值)。 因此,*p等于a,并且*p=a

p表示指针变量p自身的地址(请注意指针变量的地址和指针变量的值之间的差异。 如下图所示,指针变量p的值为变量I的地址。 指针变量p的地址是其所在的内存存储单元的地址。)。 因此,p与a等价,p=a或a=p

在下图中,1001是指针变量p的地址,1007是变量I的地址。 指针变量包含变量I的地址,即指针变量的值。 所以p=1007,*p=5,p=1001

注意: p是指针变量,保存地址(存储器单元的编号)。

不能将数据值(如p=100 )分配给指针变量。 这是一个错误,编译失败。只能分配地址值。 例如,p=i; 注意*p表示数据值,即p指针指向地址的内容。

*不能为*p分配地址值,例如*p=i。 这是错误的,无法编译*p表示数据值,因此只能分配数据值。 例如*p=100; 或者,如*p=(int ) I那样,地址值I被变换为强数据值;

星号*的用途p是指针变量,*表示这是指针,int表示该指针变量所指向的数据的类型。 定义指针变量时的*和使用指针变量时的*意义完全不同。

指针定义中的*表示定义指针变量。 (例如,int *p; 表示定义int类型的指针变量。)

使用指针变量时,*表示取值的运算符。 (如*p所示,表示获取指针变量p所指示地址的内容)

int *p; 和int **p; int *p分析; 指示要定义指向int类型的指针变量p

int **p; 指示定义指向int *类型的指针变量

它引用局部变量(方法中的变量),并在方法执行完成时释放。

fun1(和fun ) ) 2没有变更指针变量l的内容

fun ) ) 3是引用调用,用于修改实参的内容。 l表示如果取得指针变量l的地址,得到指针变量l的地址,就可以修正变量的内容

什么是引用?

引用是变量的别名,它本身与变量共享内存空间,而不是分配自己的内存空间。 因此,可以通过引用更改变量的值。 下图中的L3和l共享内存空间,可以通过L3修改l的内容。

地址、指针、引用和指针变量的区别是什么

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。