Sdílet prostřednictvím


Převody a ukazatele.

Ukazatel na jeden typ hodnoty lze převést na jiný typ ukazatele.Výsledkem však může nedefinované zarovnání požadavky a velikosti různé typy úložišť.Ukazatel na objekt lze převést na objekt, jehož typ vyžaduje méně nebo stejně přísné úložiště zarovnání, a znovu, aniž by změnit ukazatel.

Ukazatel na void mohou být převedeny do nebo z ukazatel myši na libovolný typ bez omezení nebo ztrátu informací.Pokud je výsledek převést zpět na původní typ, je obnovit původní ukazatel.

Pokud ukazatel je převeden na jiný ukazatel stejného typu, ale s různými nebo další kvalifikátory, nový ukazatel je stejný jako původní s výjimkou pro omezení zavedených nový kvalifikátor.

Hodnota ukazatele lze také převést na integrální hodnota.Cesta převodu závisí na velikosti ukazatele a velikost integrálního typu podle následujících pravidel:

  • Pokud velikost ukazatele je větší než nebo rovná velikosti integrálního typu, ukazatel nepodepsané hodnoty v převodu, chová, s výjimkou, že jej nelze převést na pohyblivé.

  • Pokud je menší než integrálního typu ukazatel, ukazatel myši nejprve převést na ukazatel se stejnou velikost jako integrálního typu, pak převeden na integrálního typu.

Naopak integrálního typu lze převést na typ ukazatele podle následujících pravidel:

  • Pokud integrálního typu stejnou velikost jako typ ukazatele, převod způsobí jednoduše integrální hodnota považovány za ukazatel (celé číslo bez znaménka).

  • Není-li velikost integrálního typu velikost typ ukazatele, integrálního typu nejprve převedena na velikost ukazatele, pomocí převodu cesty, uvedených v tabulkách převodu podepsaná typů a převodu z typů nepodepsané.Pak považovány hodnoty ukazatele.

Integrální konstanta s hodnotou 0 nebo takový výraz zadejte nádech void * lze převést typ odevzdaných podle přiřazení nebo porovnání na ukazatel libovolného typu.To vytváří nulový ukazatel, který je rovna jiné ukazatele null stejného typu, ale tento ukazatel hodnotu null není rovno ukazatel myši na funkci nebo objektu.Celá čísla než konstanta 0 lze převést na typ ukazatele, ale výsledkem není přenosný.

Viz také

Koncepty

Přiřazení převody