【发布时间】:2011-02-02 09:54:04
【问题描述】:
尝试以下代码来检查当我们将整数指针转换为整数时会发生什么。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int *p;
int a;
p = (int *)malloc(sizeof(int));
*p = 10;
a = (int)p;
printf("%d\n",*p);
printf("%d \n",a);
return 0;
}
The output is : 10
135680008
谁能解释一下与这种转换相关的概念?提供的与该主题相关的任何链接也会有所帮助。
【问题讨论】:
-
我真的不知道这里的问题是什么。显然,如果您编写了该代码,您应该了解它的工作原理/原因,并且您得到的输出符合预期。
-
请注意:在您不再需要
free( p )后,请确保拥有它。 -
在某种程度上,两个变量都有地址:)