Странный sizeof()
От: Magic Россия  
Дата: 19.02.04 06:37
Оценка:
Почему sizeof() возвращает значения, которые кажутся не верными?
struct S
{
  const char cc;
  char ch;
  //const char* pcc;
}
В этом случае sizeof() возвращает 2.
struct S
{
  //const char cc;
  //char ch;
  const char* pcc;
}
В этом случае sizeof() возвращает 4.
Тогда в этом случае он должен возвращать 6, казалось бы:
struct S
{
  const char cc;
  char ch;
  const char* pcc;
}
Но возвращает — 12.
Почему так? Может это зависит от выравнивания? Тогда как выравнивать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.