Разница в инициализации указателя на функцию - C (СИ)
Формулировка задачи:
void f(int x) { std :: cout << x; } int main() { void (*pf1)(int) = f; void (*pf2)(int) = &f; (*pf1)(1); (*pf2)(2); return 0; }
f
и&f
значат одно и то же. Разве&f
не должен означать адрес расположения указателя на функцию?Решение задачи: «Разница в инициализации указателя на функцию»
textual
Листинг программы
#include <stdio.h> int main(void) { int a[3]={1,2,3}; int * p; p = a; printf("%d\n",*p); p = &a; printf("%d\n",*p); return 0; }
Объяснение кода листинга программы
- Подключение стандартной библиотеки файла
- Объявление функции main()
- Инициализация массива a[3] значениями {1,2,3}
- Объявление указателя p на int
- Инициализация указателя p значением a
- Вывод значения *p на экран
- Инициализация указателя p значением &a (адрес массива a)
- Вывод значения *p на экран
- Завершение функции main()
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д