En programmation informatique, un type personnalisé (en:user-defined type), appelé parfois incorrectement type abstrait de données (en:abstract data type), est un type de données déclaré par le programmeur.

Un type personnalisé est généralement conçu en utilisant les types intrinsèques (en:built-in type) du langage de programmation et des personnalisés, incluant le type personnalisé en cours de déclaration.

Catégories de type personnalisé

modifier

Parmi les façons de déclarer un type personnalisé, on retrouve les suivantes :

Exemples de type personnalisé
Catégorie de type personnalisé Exemple en
langage C langage C++
macro
//## Déclaration du type personnalisé.
#define TNouveauType unsigned long int

//** Définition d'une variable 
//** à partir du type personnalisé.
TNouveauType MaVariable;
type déclaré (en)
//## Déclaration du type personnalisé.
typedef unsigned long int TNouveauType

//** Définition d'une variable 
//** à partir du type personnalisé.
TNouveauType MaVariable;
structure [de données] (en)
//## Déclaration du type personnalisé.
struct TNouveauType
{
    unsigned long int  Numero;
    char               Nom[30];
    float              Salaire;
}

//** Définition d'une variable 
//** à partir du type personnalisé.
struct TNouveauType MaVariable;
//## Déclaration du type personnalisé.
struct TNouveauType
{
    unsigned long int  Numero;
    char               Nom[30];
    float              Salaire;
}

//** Définition d'une variable 
//** à partir du type personnalisé.
TNouveauType MaVariable;
union [de données] (en)
//## Déclaration du type personnalisé.
union TNouveauType
{
    unsigned long int Numero;
    char          Octets[8];
    float         Salaire;
}

//** Définition d'une variable 
//** à partir du type personnalisé.
union TNouveauType MaVariable;
//## Déclaration du type personnalisé.
union TNouveauType
{
    unsigned long int Numero;
    char          Octets[8];
    float         Salaire;
}

//** Définition d'une variable 
//** à partir du type personnalisé.
TNouveauType MaVariable;
liste énumérative
//## Déclaration du type personnalisé.
enum TNouveauType
{
    ccSphere,
    ccCube,
    ccPyramide,
    ccTetraedre
};

//** Définition d'une variable 
//** à partir du type personnalisé.
enum TNouveauType MaVariable;
//## Déclaration du type personnalisé.
enum TNouveauType
{
    ccSphere,
    ccCube,
    ccPyramide,
    ccTetraedre
};

//** Définition d'une variable 
//** à partir du type personnalisé.
TNouveauType MaVariable;
classe [d'objets] inexistant
//## Déclaration du type personnalisé.
class TNouveauType
{
private:
    unsigned long int Numero;
protected:
    char          Nom[30];
    float         Salaire;
public:
    int           LireNumero();
}

//** Définition d'une variable 
//** à partir du type personnalisé.
TNouveauType MaVariable;