Учитывая произвольный тип (я выбрал char
здесь, но это ради конкретного примера):
char *p;
Вы можете использовать любое из следующих выражений:
sizeof(p)
sizeof(char *)
Приведение к вызову malloc()
, например:
char **ppc = malloc(sizeof(char *));
char **ppc = malloc(sizeof(p));
char **ppc = malloc(sizeof(*ppc));
Последняя версия имеет некоторые преимущества: в случае изменения типа ppc
выражение все равно выделяет правильный пробел.