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 12:00 | Pozvánky

    Konference LinuxDays 2026 proběhne již tento víkend 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Konference LinuxDays 2026 znamená desítky přednášek a workshopů, zástup zajímavých osobností, místo pro setkání, spoustu nových nápadů a informací a stánky řady různých projektů: Fedora, openSUSE, vpsFree.cz, Mozilla, MacGyver - bastlíři SH, OpenAlt a mnoho dalších. Vstup je volný.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | IT novinky

    Microsoft oznámil, že WSL kontejnery (WSLC) aneb linuxové kontejnery ve Windows Subsystem for Linux (WSL) jsou již obecně dostupné. Současně popsal jejich architekturu.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | Komunita

    openSUSE Leap 16.1 vstoupil do RC fáze. Nově lze instalovat jako standardní systém (Standard) nebo jako neměnný systém s atomickými aktualizacemi (Immutable). Samostatná neměnná distribuce openSUSE Leap Micro končí.

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

    Byl vydán Mozilla Firefox 157.0. S nejvýraznější vizuální proměnou za poslední roky. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 157 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 3
    včera 10:33 | IT novinky

    Rodina produktů Raspberry Pi se rozšířila o Raspberry Pi Smart Display Module. Deska pro Raspberry Pi Compute Module 5 se zasouvá přímo do displejů dle specifikace Intel SDM. Cena desky je 30 dolarů.

    Ladislav Hagara | Komentářů: 0
    28.9. 23:44 | Nová verze

    Byla vydána nová verze 2.56.0 distribuovaného systému správy verzí Git. Přispělo 104 vývojářů, z toho 39 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    28.9. 21:22 | Bezpečnostní upozornění

    Hackerská skupina ShinyHunters oznámila průnik do informačních systémů FBI, prostřednictvím zero-day zranitelnosti v platformě Oracle PeopleSoft, kterou úřad využívá mimo jiné pro náborový portál FBIJobs.gov. Útočníci tvrdí, že získali až 3 TB dat o současných i bývalých zaměstnancích a uchazečích o práci. Jako důkaz zveřejnili vzorek přibližně 5 000 záznamů obsahující jména, adresy, telefonní čísla, data narození, čísla

    … více »
    AfD 💙 | Komentářů: 1
    28.9. 21:11 | Zajímavý článek

    Doba kompilace linuxového jádra se díky rychlejšímu hardwaru a optimalizacím kbuildu snižuje k deseti sekundám. Nejnovější patche Lorenza Stoakse (vznikají i s pomocí SI) zkrátily na testovacím stroji dobu sestavení z dlouhých 22 vteřin na pouhých 15, a to bez použití RAMdisku. Testovací systém tvořily dva procesory AMD EPYC 9575F (oba dohromady poskytují celkem 128 jader a 256 vláken), čtyřiadvacet 64GB DDR5-6400 paměťových modulů a

    … více »
    AfD 💙 | Komentářů: 17
    28.9. 01:33 | Komunita

    Před rokem a půl vývojáři postmarketOS informovali, že pro projekt hledají nové jméno. Včera bylo oznámeno: postmarketOS se nově jmenuje Nura.

    Ladislav Hagara | Komentářů: 8
    27.9. 13:44 | Zajímavý projekt

    Hra Factorio dorazila na Printables. Hned teď si můžete stáhnout 65 různých modelů a nechat celou mimozemskou planetu oživnout na svém stole.

    Ladislav Hagara | Komentářů: 13
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2758 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    ukazatel v jazyce C

    Ukazatel je proměnná, jejímž obsahem je určitá adresa (ve virtuální paměti, případně RAM). Pokud se budeme např. bavit o ukazateli na znak, tak obsahem ukazatele na znak je adresa určitého jednoho znaku (tedy na této adrese ten určitý znak leží) nebo se může klidně jednat o adresu prvního člena pole znaků.

    Chtěl bych zdůraznit, že obsahem ukazatele obecně je adresa, se kterou můžeme pracovat pomocí aritmetiky ukazatelů. Tedy můžeme k této adrese přičíst třeba jedničku ( == posun o jeden údaj vpřed). Vždy se tedy posouváme o x údajů (v případě ukazatele na znak tedy o x znaků). To se využívá v případě dynamických polí.

    A protože se ukazatele velmi často používají k tvorbě dynamických polí, tak zde uvedu okomentovaný příklad na použití. Nejdříve ale k tvorbě jednorozměrných polí obecně:

    Nejdříve definujeme ukazatele na nějaký datový typ. Potom alokujeme paměť pro x prvků daného datového typu a ukazateli přiřadíme adresu prvního z nich. Pomocí indexů či aritmetiky ukazatelů s polem pracujeme. Nakonec uvolníme alokovanou (zabranou) paměť.

    /* Vysvětlíme si, jak se postupuje při vytváření jednorozměrného
       dynamického pole s pomocí ukazatele. */
    
    #include <stdio.h>
    #define POCET_PRVKU_POLE 14
    
    int main(void)
    {
      char *pznak; /* Ukazatel na znak. */
      
      pznak = (char *) malloc(POCET_PRVKU_POLE * sizeof(char));
      /* funkce malloc alokovala paměť pro POCET_PRVKU_POLE znaků. */
      /* (char *) je přetypování na ukazatel na znak. */
      /* sizeof(char) navrátí velikost jednoho znaku. */
      
      *pznak = 'A'; /* Prvni prvek pole (s indexem 0) bude mít hodnotu 'A'. */
      /* "*pznak" znamená, že chceme pracovat s hodnotou na adrese,
         která je obsahem ukazatele. '*' zde představuje tzv.
         dereferenční operátor. */
      *(pznak + 1) = 'B'; /* Druhý prvek (s indexem 1).
      *(pznak + POCET_PRVKU_POLE - 1) = 'X'; /* poslední prvek */
    
      /* Poznámka: K hodnotám prvků pole lze přistupovat i pomocí
       indexů, tedy formou "pznak[index] = 'znak';". Je třeba ale
       zdůraznit, že se čísluje od nuly! Tedy první prvek má index 0! */
    
      /* Alokovanou (zabranou) paměť uvolníme takto: */
      free(pznak);
    }
    

    Nakonec si vysvětlíme dva velmi důležité pojmy v souvislosti s ukazateli:

    • Referenční operátor ('&') -- vrací adresu na proměnnou, před níž se uvede. Příklad: pznak = &vstup;
    • Dereferenční operátor ('*') -- umožňuje zapisovat/číst hodnotu na adrese dané obsahem ukazatele. Příklad: *pznak = 'A';

    Dokument vytvořil: Begleiter, 11.11.2010 14:52 | Poslední úprava: Luboš Doležel (Doli), 25.11.2010 11:39 | Další přispěvatelé: David Watzke, Begleiter | Historie změn | Zobrazeno: 2095×

    Další pojmy: UDS - UI - UID - ukazatel v jazyce C - UML - Unicode - Universal Disk Format

    Filtr: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    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.