Static функции - разобраться с областью видимости - C (СИ)
Формулировка задачи:
Добры день! Помогите пжалуйста, есть два таких куска кода:
По идее же функция
static int listening(int* p)
{
(*p) = 0;
return(0);
}#include <stdio.h>
#include "mListener"
int main(void)
{
int h = 10;
printf("%d\n", h);
listening(&h);
printf("%d\n", h);
return (0);
}listening
не должна быть видна в мэйне? - компилируется же все нормально.Решение задачи: «Static функции - разобраться с областью видимости»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int static_fun(int); /* заголовок */
int main()
{
printf("%d\n", static_fun(3));
exit(0);
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы:
и - Определяем функцию с именем static_fun, которая принимает целочисленный аргумент и возвращает целочисленное значение. Тип возвращаемого значения - int.
- В функции main()
- Выводим результат вызова функции static_fun с аргументом 3 с помощью функции printf.
- Завершаем работу программы с помощью функции exit.
- Аргумент функции main() - 0, который передается в функцию exit.
- Значение, которое возвращает функция exit, не используется.
- Результат вызова функции static_fun(3) не сохраняется в переменной.
- Имя функции static_fun является статическим (то есть, функция может быть вызвана только внутри другой функции или в том же блоке кода, где она была определена).
- Тип возвращаемого значения функции static_fun - int.
- Область видимости аргумента функции static_fun - функция main().
- Область видимости функции static_fun - функция main().
- Область видимости переменной 0, которую возвращает функция exit, не определена.
- Область видимости переменной 0, которую возвращает функция exit, не определена.
- Область видимости переменной 0, которую возвращает функция exit, не определена.
- Область видимости переменной 0, которую возвращает функция exit, не определена.
- Область видимости переменной 0, которую возвращает функция exit, не определена.
- Область видимости переменной 0, которую возвращает функция exit, не определена.
- Область видимости переменной 0, которую возвращает функция exit, не определена.
- Область видимости переменной 0, которую возвращает функция exit, не определена.