Я C новичок, и я пытаюсь делать то, что указатель/память правый ...указатель инициализируется указатель на стек
В моем случае, я использую strtol и мне нужно передать символ **, чтобы удерживать одно из нескольких возвращаемых значений, но выделение кучи пространства является чрезмерным. Чистейшей правильно (я надеюсь), как я могу найти, получение места в стеке для этого есть:
char *_ = NULL;
char **endptr = &_;
ret = strtol("not a number", endptr, 0);
мне любопытно, есть более емкий или идиоматический способ, чтобы получить этот эффект? Я чувствую грязные именовании вещи, которые я никогда не буду использовать ...
EDIT: уточнить, я намерен использовать endptr, просто не _
'_' - это то, что многие считают сомнительным выбором для имени переменной. –
Достаточно честный. Во многих функциональных языках это обычный способ сопоставить шаблон по значению, которое вы не будете использовать. Есть ли конвенция С для такого рода вещей? – Shane
'char * endptr;' 'strtol (str, & endptr, 0);'. Другими словами, объявите 'endptr' как указатель, а затем передайте адрес этого указателя на' strtol'. – user3386109