>Чего значит #item?
Значение параметра макроса по имени item как литерал (строка).
Моя твоя русский плохо говорить, но вот пример программы, она всё объяснит.
----
#include <stdio.h>
#define Test(item) #item
int main()
{
printf("%s\n", Test(Test1));
printf("%s\n", Test(test test test));
return 0;
}
----
>Что компилятор подставляет вместо __FILE__ , __LINE__ ? (В
>программе эти константы не определяться).
Имя обрабатываемого файла (то бишь того, в котором макрос вызвали)
как строку и текущий номер строчки как число. Вот ещё пример
---
#include <stdio.h>
int main()
{
printf("%s : %d\n", __FILE__, __LINE__);
return 0;
}
---