Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.07.08
Príspevky: 190
Témy: 40
Bydlisko: BA
Príspevok NapísalOffline : 17.11.2012 18:45

Zdravim ..
Ked v C alokujem char* a potom ho zmazem prebehne vsetko v poriadku .. ale ak ho este pred zmazanim naplnim nejakym stringom tak potom ak ho chcem zmazat vyhlasi segmentation falut.. Neviete reco to hlasi chybu? .. dakujem

Kód:
char *p = new char[200];
p = "nejaky text";
delete [] p;


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 17.11.2012 19:27

Zle, zle, zle.

Ty si alokuješ 200 charov na halde a na takto alokované miesto ti ukazuje premenná p (typu char ukazateľ) Potom si p prepíšeš na adresu reťazca zo zásobníku. No a vtedy je tých tvojích 200 charov na halde nenávratne preč.

Na kopírovanie reťazcov preto používaj funkcie zo string.h (a síce strcpy/strncpy)







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.07.08
Príspevky: 190
Témy: 40
Bydlisko: BA
Príspevok Napísal autor témyOffline : 17.11.2012 19:42

Vdaka .. s str cpy to ukguje ako ma ..
takze ked napisem p = "nejaky text"; , tak vytvorim na stacku nejaky novy string a na tie povodne chary na heape uz nic neukazuje? .. lebo akosi tomu nechapem preco sa to prave takto chova ..


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 17.11.2012 19:59

Tieto klasické reťazce v Cčku sú len polia charov. Takže je to v podstate ekvivalentné s takýmto kódom
Kód:
int * a = new int[3];
int b[3] = {1,2,3};
a = b;


Vidíš, kde sa ti stratilo pole na heape?







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.07.08
Príspevky: 190
Témy: 40
Bydlisko: BA
Príspevok Napísal autor témyOffline : 17.11.2012 20:04

Aha .. uz chapem.
Dakujem za vysvetlenie


Odpovedať na tému [ Príspevkov: 5 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. C Int to Char

v Assembler, C, C++, Pascal, Java

2

328

20.10.2012 15:13

faraon Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. odelenie num a char

v PHP, ASP

2

347

10.11.2009 20:22

pilná lama glama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. mer. char.zenerovej diody

v Elektronika

0

489

10.01.2012 20:34

p4tooo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. char pole do int

v Assembler, C, C++, Pascal, Java

0

355

19.01.2011 22:38

1daemon1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Banalny priklad-char. tranzistora

v Elektronika

10

1122

07.03.2007 12:43

Taomas Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C++ problem s char

v Assembler, C, C++, Pascal, Java

4

427

07.10.2012 18:52

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zmena char na int

v Assembler, C, C++, Pascal, Java

6

513

02.02.2012 23:18

street_punk Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C - konverzia char na int

v Assembler, C, C++, Pascal, Java

14

681

02.04.2011 18:16

M4rek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. testovanie prvku pola char [C++]

v Assembler, C, C++, Pascal, Java

6

482

06.07.2010 8:09

koso Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. DELETE

v Databázy

1

769

11.10.2007 19:13

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C: z getchar() do char *retazec

v Assembler, C, C++, Pascal, Java

9

996

08.10.2010 11:54

Blackshadow Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Práca s dynamickou pamäťou v char

v Assembler, C, C++, Pascal, Java

2

373

30.04.2012 14:10

elementstyle Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Update stĺpca char cez regulárny výraz

v Databázy

2

666

29.10.2011 16:40

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delete problém

v PHP, ASP

20

831

30.11.2008 20:32

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. delete subor

v Ostatné programy

7

709

18.08.2008 0:37

dedko45 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. procedure delete

v Delphi, Visual Basic

6

674

15.12.2009 23:17

stopa27 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra