Я озадачен выходом этого кода:Неправильный размер при выделении динамической памяти
#include <stdio.h>
#include <stdlib.h>
#define TIMING_OUTPUT_FILENAME_MAX_LENGTH 40
int main (int argc, char **argv)
{
char *timing_output_filename = malloc(TIMING_OUTPUT_FILENAME_MAX_LENGTH);
printf("requested buffer size is %ld bytes and pointer size is %ld bytes\n",
sizeof(timing_output_filename),
sizeof(*timing_output_filename));
return 0;
}
и вот результат:
requested buffer size is 8 bytes and pointer size is 1 bytes
Он должен вернуть мне 40 байт? Я что-то упускаю?
Указатели не являются массивами. –