Как выровнять указатель с 16-байтовой границей?
Я нашел этот код, не уверен, что его правильный
char* p= malloc(1024);
if ((((unsigned long) p) % 16) != 0)
{
unsigned char *chpoint = (unsigned char *)p;
chpoint += 16 - (((unsigned long) p) % 16);
p = (char *)chpoint;
}
Будет ли это работать?
спасибо