A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© peiyu 高级黑马   /  2015-7-22 15:49  /  998 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include <stdio.h>

int main(int argc, const char * argv[]) {
    //10的二进制00000000000000000000000000001010
    int num=10;
    printf("num=%d\n",num);
    //指针
    char *p=&num;
    printf("第一个字节的地址:%p 值:%d\n",p,*p);
    return 0;
}
我想问一下,printf里面的p 不需要定义一下吗?

9 个回复

倒序浏览
本帖最后由 408205555 于 2015-7-22 15:57 编辑

不需要重新定义,因为在上面已经定义了p是一个指针变量。
printf()里面的p表示地址,*p表示取值。输出后的地址就是num的地址。但是值只取一个字节(4位)。

回复 使用道具 举报
408205555 发表于 2015-7-22 15:55
不需要重新定义,因为在上面已经定义了p是一个指针变量。
printf()里面的p表示地址,*p表示取值。输出后的 ...

谢谢,我看的视频还没讲到指针。老师在这里用到了
回复 使用道具 举报
支持楼上。
回复 使用道具 举报
p是Xcode自己规定好的  %p  输出地址
printf("第一个字节的地址:%p 值:%d\n",p,*p);
第二p 是你自己定义的指针变量
*p是变量的值
回复 使用道具 举报
你不是已经定义了吗?
回复 使用道具 举报
我也想学习学习
回复 使用道具 举报
楼上是正解的
回复 使用道具 举报
花漾 中级黑马 2015-7-22 22:23:58
9#
p不用定义,类似%d
回复 使用道具 举报
peiyu 高级黑马 2015-7-23 08:58:05
10#
花漾 发表于 2015-7-22 22:23
p不用定义,类似%d

谢谢,明白了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马