abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 13:33 | Zajímavý projekt

Vývojáři přenosného počítače Pocket Popcorn Computer (Pocket P.C.) (zprávička) informují na svém blogu, že návrh hardwaru zveřejnili na GitHubu pod licencí CC BY-SA 3.0 US.

Ladislav Hagara | Komentářů: 2
dnes 08:00 | Zajímavý článek

David Revoy, autor mj. komiksu Pepper&Carrot, zveřejnil novou iteraci své instalační příručky pro použití Kubuntu, nyní 20.04, jako grafické pracovní stanice.

Fluttershy, yay! | Komentářů: 1
dnes 02:00 | IT novinky

Počátkem roku někdo odcizil z Intelu několik GB citlivých dat. Prvních 20 GB bylo zveřejněno [Hacker News, ZDNet].

Ladislav Hagara | Komentářů: 3
včera 19:33 | Nová verze

Bylo vydáno Ubuntu 20.04.1 LTS, tj. první opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn. Součástí oznámení je infografika Ubuntu od 2004 do 20.04 LTS (png).

Ladislav Hagara | Komentářů: 0
včera 18:00 | Pozvánky

MojeFedora.cz upozorňuje na letošní Flock aneb letošní online konferenci zaměřenou na přispěvatele do Fedory. Konference probíhá od zítra 7. srpna do neděle 9. srpna, viz program.

Ladislav Hagara | Komentářů: 0
včera 15:00 | Nová verze

Po půl roce od vydání verze 2.31 byla vydána verze 2.32 knihovny glibc (GNU C Library). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 1
včera 09:33 | IT novinky

Dnes končí bezpečnostní konference Black Hat USA 2020 (Twitter) a začíná bezpečnostní konference DEF CON 28 (Twitter). Kvůli onemocnění COVID-19 ne v Las Vegas, ale pouze virtuálně. Na konferenci DEF CON naplánované přednášky jsou již k dispozici na DEF CON Media Serveru a na YouTube.

Ladislav Hagara | Komentářů: 1
včera 07:33 | Nová verze

Po více než pěti letech byla vydána nová verze 1.7 multiplatformního grafického editoru Pinta (Wikipedie). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
včera 00:33 | Komunita

V září loňského roku Richard Stallman rezignoval na funkci prezidenta Free Software Foundation (FSF). Včera byl zvolen nový prezident. Je jím Geoffrey Knauth (Twitter).

Ladislav Hagara | Komentářů: 8
5.8. 18:11 | Nová verze

Mozilla na svém blogu informuje o Enhanced Tracking Protection (ETP) 2.0 aneb nové verzi rozšířené ochrany proti sledování ve Firefoxu. Nová verze chrání také před technikou redirect tracking a každých 24 hodin smaže sledovací cookies. Podrobněji na blogu věnovaném bezpečnosti.

Ladislav Hagara | Komentářů: 1
Dokážete si představit, že by váš hlavní počítač (desktop, notebook) byl v současné době založen na architektuře jiné než x86 (x86_64)? Například ARM, POWER, RISC-V,…
 (9%)
 (12%)
 (57%)
 (16%)
 (6%)
Celkem 179 hlasů
 Komentářů: 13, poslední dnes 10:04
Rozcestník

Dotaz: funkce pro načítení hodnot z klavesnice

12.1. 19:26 Dooyer
funkce pro načítení hodnot z klavesnice
Přečteno: 224×
vytvořil sem si funkci pro načtení hodnot z klávesnice

void nacti(int *x, int *y, int *z) { scanf("%d%d%d",x,y,z); }

Zadání bylo načíst hodnoty z klávesnice procedurou pomocí ukazatele

v hlavním programu jsem to zavolal nacti(&a,&b,&c)

Mám to správně? a pokud ano/ne vysvětlí mi někdo proč tam musí být int *x? když je to ukazatel tak ukazuje na x? a do x uložím tu hodnotu co zadam do klavesnice takze kdyz to volám musím dát ,,&,, před proměnnou a tím ji adresuji pro toho ukazatele viz. *x? nebo jak?

Odpovědi

12.1. 20:57 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: funkce pro načítení hodnot z klavesnice
Mám to správně?
V princípe áno.
proč tam musí být int *x
Zápisom "int *x" deklaruješ premennú/parameter s menom "x". Tiež hovoríš, že tá premenná je typu "pointer na int". Keď vykonávanie funkcie skončí, tak tá premenná zanikne. Ale keďže, tá premenná je typu pointer, tak to miesto v pamäti kam ten pointer ukazoval, stále existuje. Tým sa dosiahne to, že hodnota získaná vo funkcii je dostupná aj po skončení vykonávania tej funkcie.
když je to ukazatel tak ukazuje na x?

Nie. Ukazuje na miesto v pamäti, ktoré bude určené tam, kde tá funkcia bude použitá/zavolaná. Tam ide o to, čo je to parameter funkcie. Je to označenie nejakej hodnoty, ktoré platí počas vykonávania tej funkcie. Akú hodnotu tá premenná označuje, to sa rozhodne, keď tú funkciu zavoláš.
a do x uložím tu hodnotu co zadam do klavesnice
Nie celkom. Hodnota načítaná z klávesnice bude uložená na miesto v pamäti, na ktoré ukazuje pointer uložený v premennej x. Keď máš premennú 'a', tak výraz '&a' znamená "ukazovateľ na miesto v pamäti, kde je uložená hodnota premennej 'a'". Ak má premenná a hodnotu 13, tak tá 13 je niekde v pamäti. Poradové číslo tej pamäťovej bunky, kde je tá 13 uložená, to je "pointer na a". Keď do a priradím 25. Tak prepíšem hodnotu v tej istej pamäťovej bunke - teda na tej istej adrese bude miesto hodnoty 13 hodnota 25.
12.1. 22:24 debian+
Rozbalit Rozbalit vše Re: funkce pro načítení hodnot z klavesnice
Kazde premenna ma adresu a velkost. V C ma funkcia svoj vlastny beh - v nom definovane premmenne a parametre sa vykonani zahodia. Pred volanim sa parametre skopiruju (ak nie je optimalizovany preklad) a tie sa pouziva (co je napr. lahsie skopirovat smernik ako pole s 20 prvkami, ked sa snazit co najvecsiu efektivitu).

Scanf chce adresu. Ak mas chaos, tak si definuj nacti ako:
void nacti(int *number_1, int *number_2, int *number_3) { … } 
Gréta avatar 15.1. 19:45 Gréta | skóre: 25 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: funkce pro načítení hodnot z klavesnice

fakt to zadání bylo jako takhle pitomí?? scanf de přeci zavolat rovnou bez nějaký další funkcičky ne nechce se něco víc?? předminulej domácák byl težší si jako myslim ;D

Everyone dies but not everyone lives - William Wallace ✊ ⓔⓐⓣ ⓣⓗⓔ ⓡⓘⓒⓗNo lives matter!!!!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.