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