c语言中100是地址值 (void *)100和int sum=100;(void *)sum的区别

[复制链接]
查看11 | 回复3 | 2013-10-9 18:01:57 | 显示全部楼层 |阅读模式
按你的意思100是一个地址是吧,那么(void *)100是将100这个地址强制转换为void*型的指针,一般用于赋给另一个指针,通过另一个指针再去访问100这个地址中的内容。而int sum=100;(void *)sum,是先将100这个值赋给了sum,但sum的地址是多少,那就是只有操作系统知道了,后面的(void *)sum同样是sum所在的地址强制转换为void*型指针用于其它指针来访问sum所在地址的内容...
回复

使用道具 举报

千问 | 2013-10-9 18:01:57 | 显示全部楼层
第一个(void*)100这里面的100代表的是任意类型指针的内容,比如:int *x = 100;只不过void可以转换为任意类型。x = 100; *x就是取出地址为100的变量的值。而第二个int sum= 100;就是简单的定义一个变量,保存100的值。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行