Avatar uživatele
anonym

ukazatele v C++

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..

Uzamčená otázka

ohodnoťte nejlepší odpověď symbolem palce

Zajímavá 0 před 5247 dny Sledovat Nahlásit



Odpovědi
Avatar uživatele
☮ Vašek

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 Nominace Nahlásit


Diskuze k otázce

U otázky nebylo diskutováno.

Nový příspěvek
Zajímavé otázky v kategorii Počítače a internet