C语言如何输出一个变量的地址
scanf("%d",&a);
假如我输入“10”,那这个“10”的地址怎么求,怎么输出来呢?
你要好好看看指针的定义和运用。
你可以定义一个整型指针 int p; 然后定义一个整型变量 int a;
p的值是一个整型变量的地址 &是取地址操作符
**p = &a;* 这样,指针变量p保存的就是整型变量a的地址了
你要引用整型变量a,可以直接使用变量本身a,也可以通过指针间接的应用,***p** 就是a了
所以你的程序可以再定义一个整型指针变量 p=&a;
然后 printf(“address is :%X\n”,p);就可以看看a的十六进制地址了
printf("%d\n", &a); 这就是输出地址
printf("%d\n", a); 这就是输出值
&a就是地址。
你先给了地址,然后scanf才放进去的。
printf("%d\n", &a); 这就是输出地址
printf("%d\n", a); 这就是输出值
它相当于
printf("%d\n", *(&a)); 这就是输出地址
printf("%p", &a);
%p 就输出a的地址了
scanf是输入的,后面跟你自己需要输入的数据,同时要注意你输入的类型;
printf为输出,后面跟着你需要输出的数据就可以了!
具体的可以自己试试!
&就是取址符号,scanf 中的&a就是a的地址,给了地址才放进scanf里的,才能读入一个a的值
&a表示的就是地址。你要现在计算机中给他一个地址,才能将数字存进去。
输出则是printf("%p\n", &a);
如果是要输出a的值则是printf("%d\n", a);当然也可以用指针来表示。
你是先定义了 a,再将a 的地址传入到scanf函数,你输入的“10”就是保存在 a 的地址里面。a的地址是由编译器来确定的。输出它的地址,看他们的回答就可以了。
10的地址就是a的地址。
你只要输出&a就可以了。
打印地址 用%p
#include
#include
main()
{
int a,*p;
scanf("%d",&a);
*p=a;
printf("%x\n",p);
system("pause");
return 0;
}