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 07:33 | Komunita

    O víkendu probíhá konference OpenAlt 2025. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.

    Ladislav Hagara | Komentářů: 0
    dnes 00:55 | IT novinky

    Josef Průša představil novou velkoformátovou uzavřenou CoreXY 3D tiskárnu Prusa CORE One L a nový open source standard chytrých cívek OpenPrintTag i s novou přepracovanou špulkou.

    Ladislav Hagara | Komentářů: 6
    včera 18:33 | IT novinky

    Na GOG.com běží Autumn Sale. Při té příležitosti je zdarma hororová počítačová hra STASIS (ProtonDB: Platinum).

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

    Ubuntu 25.10 má nově balíčky sestavené také pro úroveň mikroarchitektury x86-64-v3 (amd64v3).

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

    Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | IT novinky

    Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.

    Ladislav Hagara | Komentářů: 5
    30.10. 23:44 | Komunita

    Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.

    Ladislav Hagara | Komentářů: 0
    30.10. 15:22 | Nová verze

    Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 2
    30.10. 12:55 | Nová verze

    Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).

    Ladislav Hagara | Komentářů: 1
    30.10. 02:55 | Nová verze

    Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (48%)
     (19%)
     (18%)
     (22%)
     (16%)
     (20%)
     (16%)
     (17%)
    Celkem 294 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

    Dotaz: Pole v C

    23.11.2008 09:05 pole
    Pole v C
    Přečteno: 621×
    Dobrej den, nejsem moc skuseny programator, prave zacinam programovat v C. Naprogramoval jsem si program, ale dava mi nejakou chybu Segmentation fault.

    int N, i, *p_i;

    p_i= (int *) malloc(N * sizeof(int));

    scanf("%d", &N);

    for (i=0; i < N; i++){

    scanf("%d", p_i+i);

    printf("\n%d\n", *(p_i+i));

    }

    Tohle je cast kodu. Pamet se alokuje sparvne, delal sem test na NULL. Nevite kde by mohl byt problem? Program spravne uklada hodnoty do pola, ale v momente kdy by mnel cyklus opustit vypise Segmentation fault a program ukonci. Dik moc

    Odpovědi

    23.11.2008 09:28 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
    Rozbalit Rozbalit vše Re: Pole v C
    Alokuješ paměť pro pole ještě než se dozvíš jeho velikost (N).
    Užívej dne – možná je tvůj poslední.
    23.11.2008 09:38 pole
    Rozbalit Rozbalit vše Re: Pole v C
    Spatne jsem prepsal kod. Samozrejme alokuji az po zjisteni N.
    23.11.2008 10:29 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
    Rozbalit Rozbalit vše Re: Pole v C
    Tohle u mne žádný SIGSEGV nevyvolá:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
      int N, i, *p_i;
    
      scanf("%d", &N);
      p_i = (int *) malloc(N * sizeof(int));
    
      for(i = 0; i < N; i++)
      {
        scanf("%d", p_i + i);
        printf("\n%d\n", *(p_i + i));
      }
    
      return 0;
    }
    
    
    Užívej dne – možná je tvůj poslední.
    23.11.2008 11:13 pole
    Rozbalit Rozbalit vše Re: Pole v C

    Nechapu to.

    Ja jsem skompiloval jeste jednou a ted to funguje. Ak vsak skompiluju znovu, tak to nejede a pak zas jede. Kompiloval jsem presne tento kod.

    Takze se to uz z casti vyresilo. Ale proc raz jede, raz ne ?

    Dekuji

    David Watzke avatar 23.11.2008 11:41 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Pole v C
    Možná HW problém... paměti jsou ok, nic jinýho nezlobí?
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    23.11.2008 10:29 Boris Dušek | skóre: 22 | blog: everything
    Rozbalit Rozbalit vše Re: Pole v C

     

    Spatne jsem prepsal kod.

     

    s g++ i Visual C++ to nepadá - možná by bylo lepší poslat větší část originálního kódu? Taky by se hodilo znát přesné hodnoty, na kterých to padá (když na "všech", tak aspoň jeden příklad - určitě si netestoval všechny možné vstupy, těch je nekonečně mnoho).

    vim ~/.emacs
    23.11.2008 12:05 kvé
    Rozbalit Rozbalit vše Re: Pole v C
    Podivejte se pres gdb nebo valgrind, kde a kvuli cemu to padne.
    23.11.2008 17:31 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Pole v C
    Nebo jednodušeji:

    printf ("Zadej počet prvků: ");, printf ("Zadej %i. prvek: ", i);
    Quando omni flunkus moritati
    23.11.2008 18:28 kvé
    Rozbalit Rozbalit vše Re: Pole v C
    Nerekl bych, ta chyba muze byt zpusobena spatnym zapisem do pameti z upne jineho mista programu.
    23.11.2008 19:21 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Pole v C
    a) Stejně to bude vypadat líp, když ten program vypíše, co chce, místo aby jenom čekal, až zahřmí

    b) Pokud je chyba opravdu v tomto kódu, bude to jednodušší než zjišťovat, jak funguje valgrind a gdb.
    Quando omni flunkus moritati
    24.11.2008 12:09 kvé
    Rozbalit Rozbalit vše Re: Pole v C
    Tento kod je ale spravne, proto mu to bude k nicemu.
    25.11.2008 00:25 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Pole v C
    Viz bod a)
    Quando omni flunkus moritati

    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.