我难以理解的一段“简单代码”!指针让我晕菜了!
代码如下:
char szDrives[128];
char* pDrive;
if ( !GetLogicalDriveStrings( sizeof(szDrives), szDrives ) )
return FALSE;
pDrive = szDrives;
while( *pDrive )
{
cout<<pDrive;
pDrive += strlen( pDrive ) + 1;
}
代码执行完,可以如下输出:
a:c:d:但我不明白pDrive怎么恰好可以取出如上的字符?而且循环变量是
strlen( pDrive ) + 1
我原以为要一个一个字符的取出,判断,再组成象上面的输出样子。
pDrive应该是储存chat的地址呀,怎么变成了字符输出?
那*pDrive 代表什么?