代码改变世界

寒假学C语言-第六章:变量在内存中的地址与布局

2012-01-19 21:56  藯蓝枫叶  阅读(217)  评论(0编辑  收藏  举报

1、printf()和scanf()

printf()是用于向屏幕的输出函数;scanf()用于接收用户输入的函数

      但比较奇怪的是:

printf(“%d”,x),但scanf(“%d”,&x);,为何接收用户输入时,参数为&x

&为地址运算符,显然scanf()用到的参数为,变量x的内存地址!

这其实挺像的邮递员送信那样,投送时需要一个内存地址!

20091119154020==========》5009_P_1311889724849

 

下面来做个有趣的试验!!

int main(int argc, char* argv[])
{
	int x;
	x=100;
	printf("1 x=%d,x的内存地址为:%p\n",x,&x);

	scanf("%d",&x);
	printf("2 x=%d,x的内存地址为:%p\n",x,&x);

	scanf("%d",0x0018FF44);
	printf("3 x=%d,x的内存地址为:%p\n",x,&x);
	return 0;
}

运算结果如下:

1