Правила | Последни постове | темата RSS | Търсене | Регистрация | Вход

Функция Указатели в C



Post new topic Reply to topic EDAboard.com Форуми -> PC Програмиране и взаимодействие -> Функция Указатели в C
Арабски версия Българска версия Каталонски версия Чешка версия Датска версия Немска версия Гръцки версия Английска версия Испански версия Фински версия Френска версия Хинди версия Хърватски версия Индонезийски версия Италианската версия Иврит версия Японска версия Корейски вариант Литовски версия Латвийски версия Нидерландски език Норвежки версия Полски версия Португалски версия Румънски версия Руска версия Словашка версия Словенски версия Сръбската версия Шведска версия Тагалог версия Украински версия Виетнамски версия Китайски версия
Автор Съобщение
череша



Присъединил се: 19 юли 2005
Мнения: 3


Post 25 август 2005 7:01 Функция Указатели в C

Къде и в какви ситуации можем да използвате функцията насоки на С в Embedded?

Може ли някой обясни?

Благодаря ..... Череша
Обратно към началото
View user's profile
Google
AdSense





Post 25 август 2005 7:01 Реклами



Обратно към началото
IanP



Присъединил се: 05 октомври 2004
Мнения: 6454
Подпомогнат: 1535
Местоположение: Уест Коуст


Post 25 август 2005 7:24 Re: Функция Указатели в С

Цитат:
Указатели към функции не са толкова чести, както други показалка употреби. Въпреки това, една обща употреба е в минаваща указатели към функция като параметър във функцията повикване.

http://www.cs.cf.ac.uk/Dave/C/node12.html
С уважение,
IanP
Обратно към началото
View user's profile
echo47



Присъединил се: 07 април 2002
Мнения: 4206
Подпомогнат: 566


Post 25 август 2005 8:13 Функция Указатели в C

Друга обща молба е повикване функция. Например, вие искате да се обадите на вашия Windows аудио рекордер функция всеки път, когато Windows получава някои извадки от микрофон. Даваш Windows една показалка към аудио рекордер функция.
Обратно към началото
View user's profile
мат



Присъединил се: 26 февруари 2004
Публикации: 489
Подпомогнат: 35
Местоположение: Тоалетна Сеат


Post 25 август 2005 13:23 Re: Функция Указатели в С

Функция насоки не са често използвани в вградена C, още за PC нежелани програмиране. По същество, това е намек към дадена функция, и в зависимост от това, които функционират на показалка изтъква, вие може да изпълнява различни функции, които ще се изпълняват в същия ред на кода.

Един пример за начина на използването му е, че имате набор от функции указатели, която сочи към съобщението хендлери, всяка на различен тип съобщение, което има за цел да проведе същия индекс като послание треньор.

Така че можете да се обадите нещо подобно
Код:

fnPtr [съоб-> тип] (съоб);
[/ код]

Добавен:
Едно възможно използване на функцията насоки вградени в C, е задача, Планировчик.
Обратно към началото
View user's profile
njfane



Присъединил се: 27 октомври 2004
Мнения: 15


Post 26 август 2005 11:00 Re: Функция Указатели в С

Тя е добър избор за мястото на преминаване случай в държавната машина използвате функцията показалка,
в случай, че държавната машина е прекалено много превключвате случаи. той прави програмата по-компактна.
Обратно към началото
View user's profile
Bingo600



Присъединил се: 26 август 2004
Публикации: 239
Подпомогнат: 14


Post 27 август 2005 14:35 Функция Указатели в C

Това е хубаво документ по този въпрос

http://www.newty.de/fpt/zip/e_fpt.pdf

http://www.newty.de/fpt/index.html

/ Бинго
Обратно към началото
View user's profile
btbass



Присъединил се: 20 юли 2001
Мнения: 1137
Подпомогнат: 106
Местоположение: Oberon


Post 10 Sep 2005 15:21 Re: Функция Указатели в С

Функция насоки са много полезни при вградени системи. Както рационализирания превключвате изявление. Също така много полезен в менюто системи. Когато в менюто на разглеждане е индексът на functon показалка масив.

Например, всяка държавна функция се връща тук следващото състояние да превключите.
Контролиращото код за цялата програма, в една линия!

Код:

/*----Членка машина функции. ---*/

UI_16 режим (нищожна);
UI_16 начална (нищожна);
UI_16 текат (нищожна);

/*----Членка машина. ---*/

Вариант (режим = 0, като се започне, бягане);

/************************************************* ********************
* Длъжност Име: основни
* Описание: Програма входна точка.
Initialise спектър от постоянна функция указатели.
Initialise държавната машина за режим на готовност.
Изпълнение на държавната машина.

************************************************** *******************/

SI_16 главната (недействителни)
(
UI_16 (* const Motor_State []) (нищожна) = (режим, като се започне, бягане);
UI_16-членка = режим;


за (;;){
STATE = Motor_State [държавата] (); / * разговор държавна функция * /
)
)

/*--- Края на файла. ---*/
Обратно към началото
View user's profile
raj_rohit10



Присъединил се: 14 юли 2004
Публикации: 113
Подпомогнат: 1


Post 13 Сеп 2005 7:19 Re: Функция Указатели в С

привет
най-доброто използване на функцията показалка какво чувствам е implimentation на ФЩМ и както е казал erlier 2рият се обадиш функция.
Обратно към началото
View user's profile
abhishek_elec



Присъединил се: 09 Сеп 2005
Мнения: 15
Подпомогнат: 1
Местоположение: Индия


Post 13 Sep 2005 12:42 Re: Функция Указатели в С

Функция насоки са полезни, когато и да има обща процедура или ALGO и U искате да използвате тази процедура на различни типове данни.

За Изп., Ако и да има добро сортиране ALGO и U искате да използвате един и същ ALGO върху номера, азбучен, стрингове или никакви данни, уредена от някои сортиране правило. В този случай, и просто трябва да напишете различни "сравни" функцията на данни за всеки вид и в основното сортирането ALGO, и ще премине функцията показалец като аргумент.
По този начин, същите ALGO може да се използва от различни ЗОП според тяхната нужда. Не е необходима промяна в основното тяло на ALGO.
Обратно към началото
View user's profile
yaseen



Присъединил се: 22 Януари 2006
Публикации: 9
Подпомогнат: 1


Post 27 август 2006 9:33 Re: Функция Указатели в С

Имам currenlty използва функцията насоки в моя С проекта, който е в менюто задвижвани редактор. Целта на дисертации насоки е да се пишат ефективни, компактни и бързи код. Моят код saple е тук;

INT стойност [] = (0x1F00, / / Alt S (^ Настройка)
0x1400, / / Alt T (^ къси спортни гащета)
0x1200, / / Alt E (^ Разширения)
0x1800, / / Alt O (^ оператор)
0x2600, / / Alt L (^ Влизане)
0x1900, / / Alt P (^ Пароли)
0x2200, / / Alt G (Settin ^ GS)
0x2300 / / Alt H (^ Помощ)
);

/ / ------ Указатели към функции ---------------------------------
недействителни (* Извършвайте [8 ])();// Главно меню функции
недействителни (* настройка [3 ])();// меню функции
недействителни (* къси спортни гащета [9 ])();
недействителни (Разширения * [4 ])();
недействителни (* оператора [3 ])();
недействителни (* Влизане [2 ])();
недействителни (Пароли * [3 ])();
недействителни (Настройки * [6 ])();
недействителни (* Помощ [10 ])();
//------------------------------------------------ ---------------

Основната ()
(
....
/ / Инициализиране funtion насоки
Извършвайте [0] = ProcessSetup;
Извършвайте [1] = ProcessTrunks;
Извършвайте [2] = ProcessExtensions;
Извършвайте [3] = ProcessOperator;
Извършвайте [4] = ProcessLogging;
Извършвайте [5] = ProcessPasswords;
Извършвайте [6] = ProcessSettings;
Извършвайте [7] = ProcessHelp;
......

/ / Прочети клавиатурата ...
I = bioskey (1);
ако (I) / / Ако клавиатурата готов ...
ключови = bioskey (0);
в противен случай
продължи; / / Ако клавиатурата не е готова да продължи да гледам това

/ / Изпълнение на менюто избраните от потребителя
за (к = 0; J <8; J )
(
ако (ключови == Стойност [J])
(
ако (! inProcess)
(
inProcess = 1;
Извършвайте [к] ();
)
)
иначе ако (ключови == 0x2D00) / / Alt X пресовани ... т.е. Спри
завръщане;
)
..........
Обратно към началото
View user's profile
Post new topic Reply to topic EDAboard.com Форуми -> PC Програмиране и взаимодействие -> Функция Указатели в C
Страница 1 от 1 Всички времена са GMT 2 Часа


Abuse | | Управление | | Модератори | | Подкрепете ни | | карта на сайта
Темата RSS