то у мне понадобится информация о его сертификате для отзыва
А win11 сырая, багов много.
printf("Строка без завершающего нуля: %.*s\n", (int)size, buf);
Хотел написать установщик dll`ок.
По всей видимости это задел "на будущее".
Короче, опечален внекатигорийно, качество кода падает куда-то в бездну.
Если функция из 3 строчек, как в примере, то в этом смысла нет.
Альтернатива блокам - блок кода выделить в функцию. Компилятор ее заинлайнит и эффект с областью видимости будет такой же. Чаще предпочитаю этот вариант, но иногда бывает и блоки использую, если блок прям ну очень короткий 1-2 строки и больше не повторяется.
Но самый частый вариант - забить на дополнительные скобки и писать в одном блоке кода все что нужно - при выходе из функции все равно все стековые переменные уничтожатся. Уничтожаться они на пару строк раньше или позже, обычно роли не играет. Но всегда могут быть исключения.
Кстати, далеко не факт, что компилятор вообще вставит хоть какие-то команды на закрывающей скобке, по идее он должен поменять регистр указателя стека, но так же он может счесть это не нужным. Но проверить, что переменная вышла из области видимости он не забудет в любом случае.