我编写了一个定义 3 个int变量的程序,并使用%p格式说明符将它们打印出来。输出如下:
0000000000000001
0000000000000002
0000000000000003
Run Code Online (Sandbox Code Playgroud)
我现在的问题是如何找出这些变量在内存中的存储位置。由于我使用 %p 格式说明符,输出是否已经是内存中存储变量的地址?
这是我的代码:
int main(void)
{
int iX1 = 1;
int iX2 = 2;
int iX3 = 3;
printf("%p\n", iX1);
printf("%p\n", iX2);
printf("%p\n", iX3);
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
%p只是您提供的数据的格式说明符。
要获取变量的地址,请使用&如下运算符:
#include <stdio.h> // printf
#include <stdlib.h> // EXIT_SUCCESS
int main(void)
{
int iX1 = 1;
int iX2 = 2;
int iX3 = 3;
printf("%p\n", (void*){&iX1});
printf("%p\n", (void*){&iX2});
printf("%p\n", (void*){&iX3});
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
输出:
0x7ffee4f7e8e8
0x7ffee4f7e8e4
0x7ffee4f7e8e0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
374 次 |
| 最近记录: |