标题:字符串变量首地址问题
只看楼主
慢慢行走
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-6-28
结帖率:100%
已结贴  问题点数:20 回复次数:9 
字符串变量首地址问题
[code]#include<iostream>
#include<string>
#include<cstdlib>

using namespace std;
int main()
{
    string a = "long";
    cout << &a << endl;
    cout << (void*)&a[0];

    system("pause");
    return 0;
}
输出结果:003FF988
          003FF98C
问题:为什么&a与&a[0]不一样呢?
搜索更多相关主题的帖子: include 字符串 
2015-06-28 16:33
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:4 
a与&a[0]一样

剑栈风樯各苦辛,别时冰雪到时春
2015-06-28 16:45
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
得分:4 
搞不懂啊,程序改写后,
#include<iostream>
#include<string>
#include<cstdlib>

using namespace std;
int main()
{
    string a="long";
    cout <<&a<< endl;
    cout <<&a[0]<<endl;
    //system("pause");(void*)
    return 0;
}
得到的结果也不一样!

可能是地址是由编译器分配的,所以不同时刻分配的内存也有所不同吧?
2015-06-28 17:14
慢慢行走
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-6-28
得分:0 
回复 2楼 林月儿
但我在VS2013中运行得到的&a与&a[0]不一样啊,a的地址总是比a[0]的地址小4如


[ 本帖最后由 慢慢行走 于 2015-6-28 20:18 编辑 ]
2015-06-28 20:12
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
回复 4楼 慢慢行走
但我在VS2013中运行得到的&a与&a[0]不一样啊,a的地址总是比a[0]的地址小4如

我说a和&a[0]一样都是首地址值

剑栈风樯各苦辛,别时冰雪到时春
2015-06-28 20:38
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
得分:4 
&a是地址的地址

一片落叶掉进了回忆的流年。
2015-06-28 20:51
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
得分:4 
不懂C++,但是如果在C里面,&a和&a[0]本来就不一样
char * a = "long";
&a变量本身的地址,&a[0]是字符串的首地址。
(不知道这样说对不对, 一个在栈空间,一个在堆空间)
收到的鲜花
  • rjsp2015-06-29 10:27 送鲜花  10朵   附言:我很赞同

人有多懒,编程就有多难。
2015-06-29 09:53
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:4 
C++的情况不清楚,这里是C

总有那身价贱的人给作业贴回复完整的代码
2015-06-29 10:25
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
在C里面,就从6楼开始看就行了

总有那身价贱的人给作业贴回复完整的代码
2015-06-29 10:29
慢慢行走
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-6-28
得分:0 
回复 8楼 embed_xuel
奥,发错地方了,还是谢谢啦。
2015-06-29 16:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-454801-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.192006 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved