Приведение указателя int к char ptr и наоборот

Проблема проста. Насколько я понимаю, GCC утверждает, что символы будут выровнены по байтам, а целые числа будут выровнены по 4 байтам в 32-битной среде. Мне также известен стандарт 6.3.2.3 C99, в котором говорится, что приведение типов указателей к неверно выровненным типам приводит к неопределенным операциям. Что об этом говорят другие стандарты языка Си? Здесь также много опытных программистов - любой взгляд на это будет оценен.

int *iptr1, *iptr2;
char *cptr1, *cptr2;

iptr1 = (int *) cptr1;
cptr2 = (char *) iptr2;
15
задан LearnerForever 27 November 2010 в 09:55
поделиться