Memory management 如何打印所有动态分配字节的地址

Memory management 如何打印所有动态分配字节的地址,memory-management,operating-system,Memory Management,Operating System,首先,我不确定我的问题是否正确 问题是 char* ch = new char[20] 现在我想知道分配的20个字节中每个字节的地址 我想做一些像 for(int i=0;i<20;i++) cout<<ch++; for(inti=0;iTry 常量无符号整数计数=20; char*ch=新字符[计数] for (unsigned int ii = 0 ; ii < COUNT ; ++ ii) { void *tmp = &ch [ii] ;

首先,我不确定我的问题是否正确

问题是

char* ch = new char[20]
现在我想知道分配的20个字节中每个字节的地址

我想做一些像

for(int i=0;i<20;i++)
    cout<<ch++;
for(inti=0;iTry
常量无符号整数计数=20;
char*ch=新字符[计数]

for (unsigned int ii = 0 ; ii < COUNT ; ++ ii)
{
   void *tmp = &ch [ii] ;
   cout << tmp << endl ;
}
for(无符号整数ii=0;ii你能不能现在只需要知道第一个字节的地址。所有其他地址都以每…1字节的步数跟随该地址。好吧,字节…@barakmanos谢谢你的回答。我同意你的评论。但我特别想知道这是否可能知道任意一个随机字节的地址假设10,我不能像我们一样有类似&(ch+10)的东西吗*(ch+10)获取数据。问题底部所述的目标意味着您可能希望使用
字符串
。如果您坚持使用
char
数组,则可以将每个
char
设置为(例如)
ch[5]这样简单='f'
。如果希望将其用作字符串,则应将最后一个设置为零(
char[19]=0
,或者如果字符串长度小于19字节,则无论
len
是什么,都应将其设置为
char[len]=0
)。要打印
ch
的地址,如果将字符指针传递到
cout,则可以执行类似于
cout的操作