Pravidla | Poslední příspěvky | RSS téma | Hledat | Registrace | Přihlášení

Funkce Ukazatele v C



Post new topic Reply to topic EDAboard.com Obsah fóra -> PC a programování Propojení -> Funkce Ukazatele v C
Arabské znění Bulharská verze Katalánština verze Česká verze Dánské znění Německá verze Řecké znění Anglická verze Španělské znění Finské znění Francouzská verze Hindština verze Chorvatština verze Indonéská verze Italská verze Hebrejské znění Japonská verze Korejská verze Litevské znění Lotyšské znění Nizozemské znění Norská verze Polská verze Portugalská verze Rumunská verze Ruská verze Slovenská verze Slovinské znění Srbská verze Švédské znění Tagalog version Ukrajinská verze Vietnamština verze Čínština verzi
Autor Zpráva
třešeň



Založen: 19 červenec 2005
Příspěvky: 3


Post 25 srpna 2005 7:01 Funkce Ukazatele v C

Kde a za jakých situacích můžeme použít funkci ukazateli C v oblasti vestavěných?

Může někdo vysvětlit?

Díky ..... Cherry
Zpět na začátek
View user's profile
IanP



Založen: 05. říjen 2004
Příspěvky: 6454
Pomohl: 1535
Poloha: West Coast


Post 25 srpna 2005 7:24 Re: Funkce Ukazatele v C

Citace:
Ukazatele na funkce nejsou tak časté jako jiné používá ukazatel. Jeden z nich však běžné použití je ve složení odkazy na funkci jako parametr ve volání funkce.

http://www.cs.cf.ac.uk/Dave/C/node12.html
Pozdravy,
IanP
Zpět na začátek
View user's profile
echo47



Založen: 07. duben 2002
Příspěvky: 4206
Pomohl: 566


Post 25 srpna 2005 8:13 Funkce Ukazatele v C

Dalším společným použití je volání funkce. Například, chcete-Windows zavoláte audio rekordér funkce pokaždé Windows obdrží některé vzorky z mikrofonu. Dejte Windows ukazatel na vaše audio rekordér funkce.
Zpět na začátek
View user's profile
mat



Založen: 26. únor 2004
Příspěvky: 489
Pomohl: 35
Poloha: Toaletní sídla


Post 25 srpen 2005 13:23 Re: Funkce Ukazatele v C

Funkce odkazy nejsou často používá v oblasti vestavěných C, více na straně PC programování. V podstatě je to ukazatel na funkci, a v závislosti na funkci, ukazatel bodů, můžete provádět různé funkce, které mají být realizovány ve stejném řádku kódu.

Jedním z příkladů způsobu užívání je, že máte celou řadu funkcí ukazateli, který ukazuje na zprávu manipulují, každý jiný typ zprávy, který je navržen tak, aby držely stejný index jako vzkaz handler.

Takže můžete volat něco jako
Kód:

fnPtr [msg-> type] (msg);
[/ code]

Přidáno:
Jedním z možných využití ukazatelů funkcí v oblasti vestavěných C, je Plánovač úloh.
Zpět na začátek
View user's profile
njfane



Založen: 27. října 2004
Příspěvky: 15


Post 26 srpen 2005 11:00 Re: Funkce Ukazatele v C

to je dobrá volba nahradit switch případě ve stavu stroje pomocí funkce ukazovátko,
v případě, že automat má příliš mnoho přepnout případech. to je program kompaktnější.
Zpět na začátek
View user's profile
Bingo600



Založen: 26. srpen 2004
Příspěvky: 239
Pomohl: 14


Post 27 srpna 2005 14:35 funkcí Ukazatele v C

To je pěkný dokument o předmětu

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

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

/ Bingo
Zpět na začátek
View user's profile
btbass



Založen: 20 červenec 2001
Příspěvky: 1137
Pomohl: 106
Poloha: Oberon


Post 10 Září 2005 15:21 Re: Funkce Ukazatele v C

Funkční odkazy jsou velmi užitečné i pro vestavěné systémy. Jako zmodernizovaný přepínač prohlášení. Také velmi užitečné v menu systémů. Pokud je vybrána položka menu je index o functon ukazatel pole.

Například, každý státní funkci sem vrátí příští státní přejít na.
Kontrolní kód na celý program v jednom řádku!

Kód:

/*--- Státní stroj funkcí. ---*/

UI_16 pohotovostním (void);
UI_16 začíná (void);
UI_16 běh (void);

/*--- Státní stroj. ---*/

enum (Pohotovostní = 0, POČÁTEČNÍCH, BĚŽÍCÍ);

/************************************************* ********************
* Funkce Jméno: main
* Popis: Program vstupního bodu.
Inicializovat pole konstantních ukazatelů funkcí.
Inicializovat stroje do pohotovostního stavu.
Popravit stavu stroje.

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

SI_16 main (void)
(
UI_16 (* const Motor_State []) (void) (= pohotovostním počínaje, běh);
UI_16 stát = pohotovostním režimu;


pro (;;){
Stát = Motor_State [state] (); / * call státní funkci * /
)
)

/*--- Konec souboru. ---*/
Zpět na začátek
View user's profile
raj_rohit10



Založen: 14 červenec 2004
Příspěvky: 113
Pomohl: 1


Post 13 Září 2005 7:19 Re: Funkce Ukazatele v C

ahoj
nejlépe využít funkci ukazovátko, co cítím je implimentation FSM a jak je řečeno erlier 2. je zavolat funkci.
Zpět na začátek
View user's profile
abhishek_elec



Založen: 09 Zář 2005
Příspěvky: 15
Pomohl: 1
Místo: Indie


Post 13 Září 2005 12:42 Re: Funkce Ukazatele v C

Funkční odkazy jsou užitečné, když si u všeobecného řízení, algoritmy a u chtěli využít tento postup na různé druhy údajů.

Pro ex., Je-li u mít dobrý třídicí algoritmy a u chtít používat stejné algoritmy na čísla, abecedním, smyčce nebo žádné údaje, řídí některé třídicí pravidlo. V tomto případě, a musím jen napsat různých "porovnat" funkce pro každý typ dat a pro hlavní třídící algoritmy, u předá ukazatel funkce jako argument.
Tímto způsobem stejné algoritmy mohou být použity různé PPL dle jejich potřeb. Změny je potřeba v hlavním subjektem algoritmy.
Zpět na začátek
View user's profile
Google
AdSense





Post 13 Září 2005 12:42 Reklamy



Zpět na začátek
yaseen



Založen: 22. leden 2006
Příspěvky: 9
Pomohl: 1


Post 27 srpna 2006 9:33 Re: Funkce Ukazatele v C

Mám currenlty používaných funkcí odkazy na mých K projektu, který je poháněn menu editor. Cílem práce je napsat odkazy efektivní, kompaktní a rychlý kód. Můj kód saple je tady;

Hodnota int [] = (0x1F00, / / Alt S (^ Setup)
0x1400, / / Alt T (^ Velké cestovní kufry)
0x1200, / / Alt E (^ Extensions)
0x1800, / / Alt O (^ operátora)
0x2600, / / Alt L (^ Logging)
0x1900, / / Alt P (^ hesel)
0x2200, / / Alt G (Settin ^ gs)
0x2300 / / Alt H (^ nápovědy)
);

/ / ------ Ukazatele na funkce ---------------------------------
void (* Popravit [8 ])();// Hlavní menu funkcí
void (* Setup [3 ])();// menu funkcí
void (* Velké cestovní kufry [9 ])();
void (* Extensions [4 ])();
void (* Operátor [3 ])();
void (* Logging [2 ])();
void (* hesel [3 ])();
void (* Nastavení [6 ])();
void (* Nápověda [10 ])();
//------------------------------------------------ ---------------

main ()
(
....
/ / Inicializovat funtion odkazy
Popravit [0] = ProcessSetup;
Popravit [1] = ProcessTrunks;
Popravit [2] = ProcessExtensions;
Popravit [3] = ProcessOperator;
Popravit [4] = ProcessLogging;
Popravit [5] = ProcessPasswords;
Popravit [6] = ProcessSettings;
Popravit [7] = ProcessHelp;
......

/ / Čtení klávesnice ...
i = bioskey (1);
if (i) / / Je-li klávesnice připraven ...
key = bioskey (0);
jiné
continue; / / Je-li klávesnice nejsou připraveni dále sledování

/ / Spustit v menu vybraný uživatel
u (j = 0; j <8; j )
(
if (hodnota == klíč [j])
(
if (! inProcess)
(
inProcess = 1;
Popravit [j] ();
)
)
else if (klíč == 0x2D00) / / Alt X lisované ... tj. Ukončete
návratu;
)
..........
Zpět na začátek
View user's profile
Post new topic Reply to topic EDAboard.com Obsah fóra -> PC a programování Propojení -> Funkce Ukazatele v C
Strana 1 z 1 Časy uváděny v GMT 2 hodiny


Zneužití | | Administrátor | | Moderátoři | | Podpořte nás | | sitemap
téma RSS