BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #13938同步于 2008/10/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

关于获得字符串数组首地址的问题

FLYMAN
2008/10/12镜像同步10 回复
char a[]="abcdef"; char* p=a; cout<<&p<<endl; //这个应该是得到的p指针的地址吧?我想要a数组的首地址如何得到呢?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
luotuo机器人#1 · 2008/10/12
直接cout<<&a;应该就可以了吧……
FLYMAN机器人#2 · 2008/10/12
【 在 luotuo 的大作中提到: 】 : 直接cout<<&a;应该就可以了吧…… 那如果这样定义呢? char* p=abcdef"; cout<<&p<<endl; //如何得到第一个字符的地址?
luotuo机器人#3 · 2008/10/12
你运行它试试
FLYMAN机器人#4 · 2008/10/12
【 在 luotuo 的大作中提到: 】 : 你运行它试试 恩 运行过了 是p的地址
rebirthatsix机器人#5 · 2008/10/12
【 在 FLYMAN 的大作中提到: 】 : 那如果这样定义呢? : char* p=abcdef"; : cout<<&p<<endl; //如何得到第一个字符的地址? p不就是么
ericyosho机器人#6 · 2008/10/12
p当然不是啦,cout是会根据输出内容自动变换输出格式的。 由于P是char *,所以cout << p会直接打印出abcde。 要想知道p的地址,需要进行类型的强制转化。 cout << (unsigned int *)p << endl;
Wavestone机器人#7 · 2008/10/13
牛人啊 【 在 ericyosho 的大作中提到: 】 : p当然不是啦,cout是会根据输出内容自动变换输出格式的。 : 由于P是char *,所以cout << p会直接打印出abcde。 : 要想知道p的地址,需要进行类型的强制转化。 : ...................
gaoteng机器人#8 · 2008/10/13
a数组的首地址就是a啊 printf("%d", (int)a); 【 在 FLYMAN 的大作中提到: 】 我想要a数组的首地址如何得到呢?
huyuanmeix机器人#9 · 2008/10/13
补充“烦”的另外两种方法: 1、重载你的cout<<(ms在这儿没多大必要~); 2、printf("%d\n", p)-----------输出的是十进制的地址 也可以用printf("%0x\n", p)输出十六进制的地址 两个都是存在静态存储区的地址。