Co je špatně? (program krachne) – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Co je špatně? (program krachne) – C / C++ – Fórum – Programujte.comCo je špatně? (program krachne) – C / C++ – Fórum – Programujte.com

 

oxidián0
Grafoman
25. 7. 2017   #1
-
0
-

Dělám to v CodeBlocks a tam se to dá zkompilovat ale při debugu to píše chybu SIGSEGV.  Segmentation fault

typedef struct
{
    double lat;
    double lon;
    int year;
    int month;
    int day;
} INPUTS;

int main()
{
    INPUTS * i;
    (*i).year = 2017;
    printf( "%d", (*i).year );

    return 0;
}


Přistupuji špatně k tomu (*i).year? Při kompilaci žádný problém.

Nahlásit jako SPAM
IP: 78.102.61.–
MilanL+1
Grafoman
25. 7. 2017   #2
-
0
-

podle mě se snažíš použít ukazatel na neinicializovanou strukturu.

zkus použít

INPUTS *i = new INPUTS;

Nahlásit jako SPAM
IP: 185.112.167.–
KIIV
~ Moderátor
+43
God of flame
25. 7. 2017   #3
-
0
-

#2 MilanL
vicemene mas pravdu. Nicmene, nesnazi se pouzit ukazatel na neinicializovanou strukturu, ale primo neinicializovany ukazatel (ukazujici kdo vi kam).

Nahlásit jako SPAM
IP: 93.91.151.–
Program vždy dělá to co naprogramujete, ne to co chcete...
oxidián0
Grafoman
25. 7. 2017   #4
-
0
-

V céčku ale dostávám chybu že new není deklarovaný.

Edit:

Už si vzpomínám, že musím použít malloc.

Takže takhle by to mělo být:

SOLPOS * solpos = (SOLPOS *) malloc( sizeof(SOLPOS) );
SOLRAD * solrad = (SOLRAD *) malloc( sizeof(SOLRAD) );
INPUTS * i = (INPUTS *) malloc( sizeof(INPUTS) );
SOLRAD_STR * solradStrings = (SOLRAD_STR *) malloc( sizeof(SOLRAD_STR) );;
Nahlásit jako SPAM
IP: 78.102.61.–
KIIV
~ Moderátor
+43
God of flame
25. 7. 2017   #5
-
0
-

#4 oxidián
no v ukazkovem programu technicky vzato ani nepotrebujes dynamickou alokaci. To, jestli je to vubec potreba, bude hodne zalezet na tom, co s tim chces opravdu delat.

Nahlásit jako SPAM
IP: 93.91.151.–
Program vždy dělá to co naprogramujete, ne to co chcete...
oxidián0
Grafoman
25. 7. 2017   #6
-
0
-

#5 KIIV
Program už je skoro hotový (teda 1. fáze) takže ho za chvíli ukážu.

Dík za osvěžení paměti.

Nahlásit jako SPAM
IP: 78.102.61.–
MilanL+1
Grafoman
26. 7. 2017   #7
-
0
-

#6 oxidián

no já našel na netu ještě jednu variantu

INPUTS *i, d;

i = &d;

Nahlásit jako SPAM
IP: 91.139.9.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 16 hostů

Podobná vlákna

CO je spatne? — založil Figa

Co dělám špatně? — založil Chrasty

Spatne CSS ? — založil aTTix

[DB] - špatné řazení — založil Storm

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý