哥们,指针指向的那段地址就是动态数组么?

“main(){inta=5;printf("%p",a);}你要是像上面那样就不是随机值了它是以十六进制输出”哥们,只要令a等于5的话,就能正常输出么?那输出时为什么不... “main()
{ int a=5;
printf("%p",a);
}
你要是像上面那样 就不是随机值了 它是以十六进制输出”
哥们,只要令a等于5的话,就能正常输出么?那输出时为什么不是用&a么?不是要输出地址么?
还有如果stu是一个结构变量,store是结构内的整形变量,那么stu.score指的是score的值还是它的地址呢?
麻烦你了
还有使用malloc和free时我没用 #include<malloc.h>,好像编译也可以通过,这是为什么呢?
展开
 我来答
L_o_o_n_i_e
2009-12-21 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5165万
展开全部
%p 格式 用于指针,输出十六进制地址
普通变量,加& 得地址,用 %x 十六进制, 用%d 十进制输出.
对比下面6条输出,你会明白。

#include<malloc.h> 老式编译器需要,新的编译器“聪明”,可省。

#include <stdio.h>
#include <stdlib.h>

void main()
{
int a=5;
int *p = &a;

printf("%p\n",p); //地址
printf("%d\n",p); //地址
printf("%d\n",*p); //值

printf("%08x\n",&a); //地址
printf("%d\n",&a); //地址
printf("%d\n",a); //值

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式