это понятие шире и Си его не монополизировал
Внутренние макросы впервые применялись в макроассемблерах. Но там они были более продвинутые. Использовались каталоголизированые библиотеки, наличие иструкций повторений, наличие шаблонов (как бы макросы-подпрограммы). Что позволяло моделировать компиляторы ЯП. Обычно все макросы расширялись локально на месте. В листинге можно было увидеть расширения макросов в удобном виде, что позволяло анализировать и отлаживать коды. Но принцип всё тот же: расширение текстов и далее ассемблирование.