Mám jednoduchou otázku: je možné použít následující kostrukci?
char *ukazatel=„ahoj“;
cout<< ukazatel;
Asi je to dost velká chyba, ne? Tedy předpokládám, že tímto zaberu v paměti místo pro ukazatel, ale ne pro ta data. Každopádně překladač to sežere..
ohodnoťte nejlepší odpověď symbolem palce
Zajímavá 0 před 5515 dny |
Sledovat
Nahlásit
|
Je to v pořádku. Literál „ahoj“ bude každopádně součástí přeloženého souboru (stejně jako by byl použit kdekoliv jinde, např. jako argument funkce) a proměnná bude jednoduše ukazatel na ono místo.
Data byste však měl používat výhradně pro čtení – může se stát, že pro jednoduchost budou uložena v segmentu paměti, do kterého program nesmí zapisovat, takže i pokus o přepsání jednoho ze znaků ‚A‘, ‚h‘, ‚o‘, ‚j‘ skončí chybou a ukončením programu.
0
před 5515 dny
|
0 Nominace Nahlásit |
U otázky nebylo diskutováno.
Nový příspěvekBedy | 1528 | |
Michal Kole | 1199 | |
led | 1161 | |
Hlada | 1132 | |
mosoj | 1124 | |
gecco | 904 | |
www | 828 | |
badisko | 817 | |
cochee | 814 | |
Dochy | 730 |
Software |
Hardware |
Internet |
Programování a webdesign |
Sítě |
Bezpečnost |
Ostatní počítače a internet |