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的操作