Cast Указатель примитивного типа на указатель структуры - выравнивание и заполнение?

Когда мне ответили на вопрос, мне исполнилось 20 минут, и у меня возник интересный сценарий: я не уверен в его поведении:

Дайте мне целочисленный массив размером n, на который указывает intPtr;

int* intPtr;

и позвольте мне также иметь такую структуру:

typedef struct {
int val1;
int val2;
//and less or more integer declarations goes on like this(not any other type)
}intStruct;

Мой вопрос, если я сделаю кастингintStruct* structPtr = (intStruct*) intPtr;

Я уверен, что правильно получу каждый элемент, если перейду к элементам структуры? Есть ли возможность неправильного выравнивания (возможно из-за заполнения) в любой архитектуре / компиляторе?

Ответы на вопрос(6)

Ваш ответ на вопрос