enum магия
#1

Как во втором варианте получается 65? Как работает эта магия?

PHP Code:
enum edata
{
    
name[25],
    
pass[65],
    
logged
}
new 
pInfo[100][edata];
stock const psizesizeof(pInfo[]) ]; 
PHP Code:
printf("%d"pass); // 25 
PHP Code:
printf("%d"sizeof(psize[pass])); // 65 
PHP Code:
printf("%d"sizeof(psize[25])); // error 
Reply
#2

Ты указываешь на конкретный член перечисления и sizeof возвращает его размер.

А в третьем случае ошибка из-за того, что у тебя в результате получается одномерный массив, размер которого равен 91-ой ячейке, ибо при инициализации ты обращаешься не к перечислению, а к массиву pInfo.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)