Я создал объект calloc:
char* i2s_read_buff = (char*) calloc(1024*16, sizeof(char));
Из определения calloc я понял, что он создаст массив из 1024 * 16 элементов, и каждый элемент будет иметь 1 байт. Значит, это должен быть массив из 1024*16/8 = 2048
байтов.
Но
sizeof(i2s_read_buff)
производит вывод 4
. Я ожидал выхода 2048
.
Может кто-нибудь объяснить, что здесь происходит?
/8
часть ваших расчетов. Кажется, вы думаете, что размерchar
составляет одну восьмую байта. - person Yunnosch   schedule 26.03.2021