Что делает этот трюк sizeof?

Прошло некоторое время с тех пор, как я смотрел код C, но я пытаюсь убедиться, что понимаю, что здесь происходит. Кто-то заявил, что у этого (больше элементов в коде):

int trysizes[] = { 64, 64, 128, 64, };

Позже они используют это как часть цикла for :

sizeof(trysizes)/sizeof*(trysizes)

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

8
задан Ben Flynn 27 July 2012 в 21:25
поделиться