|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 已解决:const int *p = NULL 其中 &p 和p区别?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
980
人关注过本帖
标题:
已解决:const int *p = NULL 其中 &p 和p区别?
只看楼主
加入收藏
tiyager
等 级:
论坛游民
帖 子:14
专家分:25
注 册:2012-7-16
楼主
收藏
问题点数:0 回复次数:4
已解决:const int *p = NULL 其中 &p 和p区别?
程序代码:
#include
<stdio.h>
int
main () {
const
int
* p = NULL; printf(
"
%p_%p\n
"
,p,&p);
return
0
; }
运行结果:00000000_0022FF74
他们分别代表什么呢?
[
本帖最后由 tiyager 于 2012-7-17 14:13 编辑
]
2012-07-17 10:56
举报帖子
使用道具
赠送鲜花
demonleer
等 级:
贵宾
威 望:
10
帖 子:483
专家分:1225
注 册:2012-6-4
第
2
楼
收藏
得分:0
你让p = NULL,你说打印p的值为多少?
&p是p这个指针变量的地址。
收到的鲜花
tiyager
于
2012-07-17 14:15
送鲜花
1朵 附言:我很赞同
2012-07-17 12:36
举报帖子
使用道具
赠送鲜花
back4663
等 级:
新手上路
帖 子:14
专家分:9
注 册:2012-7-3
第
3
楼
收藏
得分:0
p已经被你赋值就为0;
&p是该值的地址
2012-07-17 13:39
举报帖子
使用道具
赠送鲜花
westfall999
等 级:
论坛游侠
威 望:
1
帖 子:40
专家分:101
注 册:2012-7-22
第
4
楼
收藏
得分:0
NULL的原型为:
#define (void*)0x0000 NULL
p是一个指针,对p=NULL等价于p=0x0000;只不过0x0000这个内存地址已被定义为空指针,表示不指向任何地址,对p=NULL就是将被初始化为空指针。
&表示取变量在内存中的实际地址值(由编译器分配的内存地址),理所当然&p表示取变量p的地址,虽然它是一个指针变量,但也不例外。&p由于各人的机器环境不同,得出的值多数情况下不会相同。
2012-07-22 22:06
举报帖子
使用道具
赠送鲜花
无聊恢恢
等 级:
论坛游民
帖 子:21
专家分:20
注 册:2012-7-19
第
5
楼
收藏
得分:0
p = NULL 输出自然是00000000
&p为p的地址
2012-07-23 08:09
举报帖子
使用道具
赠送鲜花
5
1/1页
1
快速回复:
已解决:const int *p = NULL 其中 &p 和p区别?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.029463 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved