Définition pour un nouveau type de données C

Fermé
invig82 - 29 sept. 2008 à 11:03
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 29 sept. 2008 à 17:00
Bonjour,
Je veux créer une définition pour un nouveau type de données dont la description est comme au dessous:
La variable a de ce type porte de données du type de 5 octets. Je veux que quand je fais:
a = une valeur;
Le compilateur comprend que c'est les données du type de 5 octets et quand je veux prendre la valeur d'un octet, je peux le faire.

Est-ce qu'il y a quelqu'un qui peut m'aider?
Merci d'avance à vous tous.
A voir également:

4 réponses

Par exemple, j'ai un code:
5octets *a;
a[0] = valeur0;
a[1] = valeur1;
a[2] = valeur2;
a[3] = valeur3;
a[4] = valeur4;

après, je veux avoir une chaîne de données a[0]a[1]a[2]a[3]a[4]. J'envoie cette chaîne comme un variable à autre machine. Quand ce machine là reçoit la chaîne, il peut prendre cette chaîne comme un variable du type 5 octes. Et il peut prendre la valeur de 3ère octet par exemple.
0
oupsman Messages postés 316 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 22 octobre 2008 10
29 sept. 2008 à 13:20
salut,

pour définier un nouveau type de données en C il faut passer par une structure. Dans ton cas, tu peux par exemple faire :

typedef struct Variable5octets{
char mes5octets[5];
}

je ne vois même pas l'interêt de définir cette structure car il s'agit d'un tableau de 5 caracteres que tu peux allouer avec malloc(...);
-1
je peux pas faire comme ça car j'utilise cette chaîne pour remplir des octes d'un message. Donc, je dois remplir le contenu de chaque octet. Et quand l'autre machine qui recoit le message, il doit avoir la capacité de prendre la valeur d'un octet dans cette chaîne.
Note: la valeur de cette chaîne est la valeur d'une option du message.

J'espère maintenant, vous comprenez mieux ce que je veux faire :)
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
29 sept. 2008 à 14:45
Salut.
Je ne sais pas si ce que tu veux faire est possible en C, par contre, pas de problème en C++.
Explique nous plus précisement ce que tu veux faire.
-1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
29 sept. 2008 à 17:00
ok, donc c'est possible avec la structure que t'a donnée oupsman.
_5octets *a;
//init de a
_5octets *b;
*b=send(a);
-1