Udostępnij za pośrednictwem


Specyfikatory typu c

Specyfikatory typu w deklaracji definiują typ deklaracji zmiennych lub funkcji.

Składnia

  • Specyfikator typu:
    nieważne

    CHAR

    krótkie

    int

    długie

    Pływak

    podwójne

    podpisane

    niepodpisane

    Specyfikator struct lub Unii

    Specyfikator Enum

    Nazwa elementu TypeDef

Podpisane char, podpisane int, podpisane krótkie int, i podpisane long int typów, wraz z ich unsigned odpowiednikami i enum, są nazywane "integralną" typy.Pływaka, double, i long double specyfikatorze typu są określane jako "ruchomy" lub "zmiennoprzecinkowych" typów.Można użyć dowolnego specyfikatora typu integralną lub zmiennoprzecinkowych w deklaracji zmiennej lub funkcji.Jeśli specyfikatora typu nie został podany w deklaracji, przyjmuje się int.

Opcjonalne słowa kluczowe podpisane i unsigned może poprzedzać lub wykonaj dowolne typy zintegrowane, z wyjątkiem enumi mogą być używane również samodzielnie w specyfikatorze typu, w którym to przypadku one są rozumiane jako podpisane int i unsigned int, odpowiednio.Gdy użyty samodzielnie, słowo kluczowe int zakłada się, że podpisane.Gdy użyty samodzielnie, słowa kluczowe long i krótki są rozumiane jako long int i short int.

Wyliczanie typy są uznawane za podstawowe typy.Specyfikatory typu dla typów wyliczenia są omówione w Deklaracji wyliczenia.

Słowo kluczowe void ma trzy zastosowań: Aby określić, funkcja zwraca typ, aby określić listę typ argumentu dla funkcji, która nie przyjmuje żadnych argumentów i określić wskaźnik do nieokreślonego typu.Można użyć void typu zadeklarować funkcji, które zwracają żadnej wartości lub zadeklarować wskaźnika dla nieokreślonego typu.Zobacz argumenty Aby uzyskać informacje o void gdy pojawia się wyłącznie w nawiasie po nazwie funkcji.

Programu Microsoft

Sprawdzanie typu teraz jest standardem ANSI, co oznacza, że typ krótki i typu int są odrębne typy.Na przykład jest przedefiniowanie w kompilatora Microsoft C, który został przyjęty przez poprzednie wersje kompilatora.

int   myfunc();
short myfunc();

W tym przykładzie dalej również generuje ostrzeżenie dotyczące pośrednia do różnych typów:

int *pi;
short *ps;

ps = pi;  /* Now generates warning */

Kompilator Microsoft C również generuje ostrzeżenia dla różnic w znak.Na przykład:

signed int *pi;
unsigned int *pu

pi = pu;  /* Now generates warning */

Typ void wyrażenia są przetwarzane dla efektów ubocznych.Nie można używać wartości (nieistniejący) wyrażenie, które ma typ void w każdy sposób ani can konwersji void wyrażenie (poprzez konwersję jawną lub niejawną) do dowolnego typu, z wyjątkiem void.Jeśli użyć wyrażenia innego typu, w kontekście gdzie void wyrażenie jest wymagane, jego wartość jest odrzucany.

Być zgodny ze specyfikacją standardu ANSI void ** nie może być używany jako int **.Tylko void * może być używany jako wskaźnik do nieokreślonego typu.

KONIEC Microsoft szczególne

Można utworzyć dodatkowe typu Specyfikatory z typedef deklaracji, zgodnie z opisem w Deklaracje Typedef.Zobacz Magazyn podstawowe typy informacji na temat rozmiar każdego typu.

Zobacz też

Koncepcje

Deklaracje i typów