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 が変数型である場合はどうすればよいでしょうか?