我正在阅读指针如何在这里工作,因为我试图理解 qsort()。但是指南给出了这个代码:
// increaser
#include <iostream>
using namespace std;
void increase (void* data, int psize)
{
if ( psize == sizeof(char) )
{ char* pchar; pchar=(char*)data; ++(*pchar); }
else if (psize == sizeof(int) )
{ int* pint; pint=(int*)data; ++(*pint); }
}
int main ()
{
char a = 'x';
int b = 1602;
increase (&a,sizeof(a));
increase (&b,sizeof(b));
cout << a << ", " << b << endl;
return 0;
}
没有解释什么线
pint=(int*)data;
和
pchar=(char*)data;
方法。我理解其余的意思,但对我来说 (char*)data 可能意味着什么很有意义。它指向char的值吗?但是,如果 char 是变量类型,那怎么可能呢?