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. char pole do int

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

0

350

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

1117

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

421

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

507

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 Int to Char

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

2

322

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

342

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

486

10.01.2012 20:34

p4tooo 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

474

06.07.2010 8:09

koso 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

677

02.04.2011 18:16

M4rek Zobrazenie posledných príspevkov

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

v Databázy

1

766

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

989

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

366

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

660

29.10.2011 16:40

camo Zobrazenie posledných príspevkov

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

v Delphi, Visual Basic

6

669

15.12.2009 23:17

stopa27 Zobrazenie posledných príspevkov

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

v PHP, ASP

20

827

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

699

18.08.2008 0:37

dedko45 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