| Autor | Poruka |
|---|
trešnja
Joined: 19. srpnja 2005 Postova: 3
| 25. kolovoz 2005 7:01 Funkcija pokazivača u C | | |
|
| Gdje i na koji situacijama možemo koristiti funkciju pokazivača u C Embedded?
Može netko objasniti?
Hvala ..... Cherry |
|
| Povratak na vrh | |
 |
IanP
Joined: 05. listopad 2004 Postovi: 6454 Pomogao: 1535 Lokacija: West Coast
| 25. kolovoz 2005 7:24 Re: Funkcija pokazivača u C | | |
|
| | Quote: | | Pokazivače na funkcije nisu kao zajedničke, kao ostalim pokazivač koristi. Međutim, jedan zajednički koristiti je u prolazu pokazivače na funkcije kao parametar u funkciji poziva. | http://www.cs.cf.ac.uk/Dave/C/node12.html Pozdravi, IanP |
|
| Povratak na vrh | |
 |
echo47
Joined: 07. travanj 2002 Postovi: 4206 Pomogao: 566
| 25. kolovoz 2005 8:13 Funkcija pokazivača u C | | |
|
| | Još jedna zajednička primjena je poziv funkcije. Na primjer, želite da pozovete Windows audio snimač funkcija Windows svaki put dobiva neki uzorci iz mikrofona. Vi dati Windowsima jedan pokazivač na svoj audio snimač funkciju. |
|
| Povratak na vrh | |
 |
mat
Joined: 26. veljača 2004 Postovi: 489 Pomogao: 35 Lokacija: WC Seat
| 25. kolovoz 2005 13:23 Re: Funkcija pokazivača u C | | |
|
| Funkcija pokazivače nisu često koristi u embedded C, više za PC strani programiranje. U osnovi, to je pokazivač na funkciju, a ovisno o funkciji koja pokazuje na pokazivač, možete primijeniti različite funkcije se izvode u istom retku koda.
Jedan primjer način korištenja je da imate niz funkcija pokazivače, što ukazuje na poruku rukuju, svaki drugačiji tip poruke koja je dizajnirana za držanje istih kao indeks poruku rukovatelj.
Znači, možete nazvati nešto slično | Code: | fnPtr [msg-> type] (msg);
| [/ code]
Dodano: Jedno moguće korištenje pokazivača na funkcije ugrađenih C, je zadatak raspoređivač. |
|
| Povratak na vrh | |
 |
njfane
Joined: 27. listopad 2004 Postovi: 15
| 26. kolovoz 2005 11:00 Re: Funkcija pokazivača u C | | |
|
| to je dobar izbor za zamjenu prebaciti sluaj u stanju stroja pomoću funkcije prepeličar, U slučaju da državni stroj ima previše prebaciti slučajevima. čini više kompaktan program. |
|
| Povratak na vrh | |
 |
Bingo600
Joined: 26. kolovoz 2004 Postovi: 239 Pomogao: 14
| 27. kolovoz 2005 14:35 Funkcija pokazivača u C | | |
|
| Ovo je lijep dokument na temu
http://www.newty.de/fpt/zip/e_fpt.pdf
http://www.newty.de/fpt/index.html
/ Bingo |
|
| Povratak na vrh | |
 |
btbass
Joined: 20. srpnja 2001 Postovi: 1137 Pomogao: 106 Lokacija: Oberon
| 10 Sep 2005 15:21 Re: Funkcija pokazivača u C | | |
|
| Funkcija pokazivače su vrlo korisne u embedded sustavima. Poput motoriziran prebaciti izjavu. Također vrlo korisna u izborniku sustavima. Gdje stavka izbornika odabrana je indeks od functon array pokazivač.
Na primjer, svaka funkcija države ovdje se vraća sljedeći države da se prebacite na. Na kontroli kod za cijeli program u jednoj liniji!
| Code: | /*--- Državni stroj funkcije. ---*/
UI_16 stanju (void); Polazna UI_16 (void); UI_16 prikazivati (void);
/*--- Državni stroj. ---*/
enum (stanju = 0, s početkom, prikazuju);
/************************************************* ******************** * Funkcija Ime: glavni * Description: Program entry point. Initialise niz funkcija konstanta pokazivače. Initialise države u stanje stroja. Izvesti državnom stroju.
************************************************** *******************/
Glavni SI_16 (void) ( UI_16 (* const Motor_State []) (void) = (stanju, s početkom, prikazuju); UI_16 State = stanju;
za (;;){ Država = Motor_State [Država] (); / * poziv državnih funkcija * / ) )
/*--- End of file. ---*/
|
|
|
| Povratak na vrh | |
 |
raj_rohit10
Joined: 14. srpnja 2004 Postovi: 113 Pomogli su: 1
| 13 Sep 2005 7:19 Re: Funkcija pokazivača u C | | |
|
| zdravo najbolje uporabe funkcija nišandžija šta osjećam je implimentation of FSM i kako je rekao jedan erlier 2. poziv funkcije. |
|
| Povratak na vrh | |
 |
abhishek_elec
Joined: 09 Sep 2005 Postovi: 15 Pomogli su: 1 Lokacija: Hrvatska
| 13 Sep 2005 12:42 Re: Funkcija pokazivača u C | | |
|
| Funkcija pokazivače su korisne kada se u postupku ili generalised u algo i želite koristiti ovaj postupak na različitim tipovima podataka.
Za ex., Ako u imati dobar sortiranja algo, a želite koristiti u istoj algo na brojeve, abecedni, žice ili bilo koji podaci prema nekim sortiranja pravilo. U tom slučaju, u imati samo napisati neku drugu "usporedbu" funkciju za svaki tip i podatke u glavnoj sortiranja algo, proći će u funkciji pokazivac kao argument. Na taj način, isti algo mogu koristiti različite ppl prema njihovoj potrebi. Nikakva modifikacija je potreban u glavnom tijelu algo. |
|
| Povratak na vrh | |
 |
Google AdSense

| 13 Sep 2005 12:42 Oglasa | | |
|
|
|
|
| Povratak na vrh | |
 |
yaseen
Pristupio / la: 22 siječanj 2006 Postovi: 9 Pomogli su: 1
| 27. kolovoz 2006 9:33 Re: Funkcija pokazivača u C | | |
|
| Imam currenlty koristiti funkciju pokazivače u mojoj C Projekt, koji je meni driven editor. Svrha disertacije pokazivače je napisati učinkovit, kompaktan i brz koda. Moj broj saple je ovdje;
Vrijednost int [] = (0x1F00, / / Alt S (^ Setup) 0x1400, / / Alt T (^ gaće) 0x1200, / / Alt E (^ Extensions) 0x1800, / / Alt O (^ Operator) 0x2600, / / Alt L (^ Logging) 0x1900, / / Alt P (^ Zaporke) 0x2200, / / Alt G (Settin ^ gs) 0x2300 / / Alt H (^ Help) );
/ / ------ Pokazivače na funkcije --------------------------------- void (* Execute [8 ])();// Glavni Izbornik funkcija void (* Setup [3 ])();// stavku izbornika funkcije void (* gaće [9 ])(); void (* Extensions [4 ])(); void (* Operator [3 ])(); void (* Logging [2 ])(); void (* Zaporke [3 ])(); void (* Postavke [6 ])(); void (* Pomoć [10 ])(); //------------------------------------------------ ---------------
glavni () ( .... / / Funtion inicijalizirati pokazivače Izvesti [0] = ProcessSetup; Izvesti [1] = ProcessTrunks; Izvesti [2] = ProcessExtensions; Izvesti [3] = ProcessOperator; Izvesti [4] = ProcessLogging; Izvesti [5] = ProcessPasswords; Izvesti [6] = ProcessSettings; Izvesti [7] = ProcessHelp; ......
/ / Pročitaj tipkovnicu ... i = bioskey (1); if (i) / / Ako tipkovnici spreman ... Tipka = bioskey (0); drugi nastavi; / / Ako je tipkovnica nije spremna nastavite gledajući ga
/ / Izvrši izborniku odabrana od strane korisnika for (j = 0, j <8; j ) ( if (ključ == Value [j]) ( if (! inProcess) ( inProcess = 1; Izvesti [j] (); ) ) else if (ključ == 0x2D00) / / Alt X prešanom ... tj. Quit povratak; ) .......... |
|
| Povratak na vrh | |
 |