抱歉,我知道有上百万个关于指针、数组等的问题,尽管如此基本,但我似乎找不到任何指向(哈哈!)答案的东西。
我有一个初始化为指向一块内存的指针,我知道我可以像访问数组一样访问这个内存:
char *mMem=new char[5000];
cout<<mMem[5]<<endl;
这实际上是:
char *mMem=new char[5000];
cout<<*(mMem+5)<<endl;
我不明白的是如何获取元素的地址- 我知道元素不是一个正确的词,因为 mMem 不是数组 - 如果我的理解是正确的,那就不能太当然,因为似乎每个站点在涉及指针和数组时都使用它想要的任何单词。所以,如果我有:
char *mMem=new char[5000];
cout<<mMem[5]<<endl;
or
cout<<*(mMem+5)<<endl;
为什么操作员的地址不能正常工作:
cout<<&mMem[5]<<endl;
我没有获取第 5 个元素的地址,而是从该元素开始打印出内存块内容。那么,为什么操作符的地址没有像我预期的那样工作,我怎样才能得到内存元素的地址呢?