0
我有这个功能,我试图转换,但我只是不能理解代码的某些部分发生了什么。任何人都可以请帮我解释一下代码。我只是想知道他们对指针做了什么。在代码中有一些空白的评论,他们用指针做地狱,我只是没有得到它。你能帮忙解释一下这段代码吗?
任何帮助表示赞赏。
WORD** m_Pixels;
int pixel(int x, int y)
{
if (x<0 || y<0 || x>=m_Width || y>=m_Height)
return -1;
WORD *pPixels = m_Pixels[y];
//
int count = *pPixels++;
int index = 0;
register int i;
if (count > 0)
{
i = count;
do {
//
index += *pPixels++;
if (x < index)
{
return -1;
}
//
index += *pPixels;
//
pPixels += *pPixels;
pPixels++;
//
index += *pPixels;
//
pPixels += *pPixels;
pPixels++;
if (x < index)
{
return pPixels[x-index];
}
} while (--i);
}
return -1;
}
指向你从哪里得到这个代码和哪些部分你不明白。 – 2011-06-09 09:56:12
我只是不明白他们做什么,pPixels ++;他们在增加什么? – Michael 2011-06-09 09:57:32
哇,这是一些相当难看的代码 – badgerr 2011-06-09 09:57:46