Какво е указател към функция, обяснение с пример?
Какво е указател към функция, обяснение с пример?

Видео: Какво е указател към функция, обяснение с пример?

Видео: Какво е указател към функция, обяснение с пример?
Видео: Указатель на функцию в качестве параметра. Передача функции в качестве параметра. С++ Урок #65 2024, Ноември
Anonim

В това пример , минаваме покрай a показалец до а функция . Когато минаваме покрай а показалец като аргумент вместо променлива, тогава адресът на променливата се предава вместо стойността. Така че всяка промяна, направена от функция използвайки показалец се прави постоянно на адреса на предадената променлива.

Освен това, какво разбирате под указател към функция, обяснявайте го с всеки пример?

А показалец до а функция сочи към адреса на изпълнимия код на функция . Можеш използване указатели да се обади функции и да мине функции като аргументи към др функции . В това пример , fp е a показалец до а функция който връща int.

Освен по-горе, как използвате указатели на функции? Как да предадем указател към функция

  1. Упражнение 1: Въведете изходния код от Pointing at a Discount във вашия редактор.
  2. Упражнение 2: Променете вашия изходен код от Упражнение 1, така че променлива с плаващ указател p да бъде декларирана във функцията main().
  3. Упражнение 3: Създайте нов проект с две функции: create() и show().

По този начин може ли функцията да бъде указател?

1) За разлика от нормалните указатели, указателят на функцията сочи към код, а не към данни. Обикновено указател на функцията съхранява началото на изпълнимия код. 2) За разлика от нормалните указатели, ние не разпределяме de-allocate памет използване на указатели на функции. 3) Името на функция може да се използва и за получаване на адреса на функциите.

Какво е указател към функция в C?

В ° С , също е възможно да се дефинира и използва указатели на функции , т.е. показалец променливи, които сочат към функции . Функционални указатели са декларирани както следва: int (*fp)(); двойно (*fptr)(); Тук fp е деклариран като a указател към функция който връща тип int, а fptr е a указател към функция което връща двойно.

Препоръчано: