0
点赞
收藏
分享

微信扫一扫

C语言 显示对象地址

#include <stdio.h>

int&nbsp;main(void){
int&nbsp;x;
double&nbsp;y;
int&nbsp;arr[3];

printf(&quot;x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;的地址:&nbsp;%p\n&quot;,&nbsp;&amp;x);
printf(&quot;y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;的地址:&nbsp;%p\n&quot;,&nbsp;&amp;y);
printf(&quot;arr[0]&nbsp;&nbsp;的地址:&nbsp;%p\n&quot;,&nbsp;&amp;arr[0]);
printf(&quot;arr[1]&nbsp;&nbsp;的地址:&nbsp;%p\n&quot;,&nbsp;&amp;arr[1]);
printf(&quot;arr[2]&nbsp;&nbsp;的地址:&nbsp;%p\n&quot;,&nbsp;&amp;arr[2]);

return&nbsp;0;
}

运行结果:
C语言 显示对象地址_#include

对象地址通常是用十六进制数表示。但是不同的比那一起或不同的运行环境下,基数、位数等显示形式以及具体数值都会有所不同。

注:

  • 取址运算符&的功能是取得对象的地址,表示对象地址的转换说明为%p
  • 单目运算符&通常被称为 取址运算符。将&运算符写在对象名之前,就可以得到该对象的地址。

对于使用 register 关键字声明的寄存器对象,不能加上取址运算符 &。

#include <stdio.h>

int&nbsp;main(void){
register&nbsp;int&nbsp;x;
printf(&quot;%p\n&quot;,&nbsp;&amp;x);

return&nbsp;0;
}

当运行该程序时,会在编译时报错。

[Error] address of register variable 'x' requested


举报

相关推荐

0 条评论