当前位置: 代码迷 >> C语言 >> 指针是伟大的!
  详细解决方案

指针是伟大的!

热度:145   发布时间:2007-12-07 10:49:21.0
很有意思
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]redice[/underline][/bold] 于 2007-12-7 09:05 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1135148&ptid=190855][/url]
在32位机中,内存地址是用四个字节表示的,这正好和int类型的大小一致,因此我们可以采用int来存放其它变量的地址。(int *)将a和b转换成整型指针,这样在使用*(int *)a时,编译器就知道应该在内存首地址为a和b的区域里取多少个 ...

我不认为知道这个就有多么高明,不知道这个就多么肤浅
----------------解决方案--------------------------------------------------------
这种用法有问题,因为形参和实际参数不一样。

编译器会发出警告,甚至无法通过编译。


函数调用的一个常识,形参和实参的类型要一致!

[[italic] 本帖最后由 cosdos 于 2007-12-7 11:36 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
回复 23# 的帖子
&a 得到的是a的内存地址,该地址是一个4个字节的数,怎么不能用int表示 ?
----------------解决方案--------------------------------------------------------
回复 20# 的帖子
宏定义里的参数和函数里的参数有什么不一样 能不能理解为 宏定义中的这种参数传递是一种按址传递
----------------解决方案--------------------------------------------------------
回复 22# 的帖子
我说错了 不好意思 和谐社会!!
----------------解决方案--------------------------------------------------------
回复 19# 的帖子
高手 请问 危险在哪里??请举例说明。不胜感激。
学习中,不耻于请教别人...
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]redice[/underline][/bold] 于 2007-12-7 12:21 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1135918&ptid=190855][/url]
宏定义里的参数和函数里的参数有什么不一样 能不能理解为 宏定义中的这种参数传递是一种按址传递


宏定义是在编译的时候直接替换,不需要参数传递
----------------解决方案--------------------------------------------------------
回复 28# 的帖子

是这样呀 谢谢
----------------解决方案--------------------------------------------------------
形参和实参类型要一样
----------------解决方案--------------------------------------------------------
  相关解决方案