7 ans de C et j’apprend encore!
12 sujets de 1 à 12 (sur un total de 12)
-
Bah mince alors, je viens de découvrir un truc du C-ANSI que je connaissait pas: pouvoir explicitement donner le nom des champs lors de l’initialisation d’une variable pendant sa définition.
Soit mettre un point + nom du champ + = + valeur comme ceci:
struct test
{
int field1;
int field2;
int field3;
};
struct test v =
{
.field3 = 45,
.field1 = 32,
.field2 = 0xff
};
On en apprend tous les jours…. 😮
ah ouai 😮 , je connaissais pas non plus. C’est bien pasque ça permet d’expliciter les membres avec leurs valeurs.
Tient, ça me fait penser qu’en lisant un bouquin de C ya 2 ans j’avais lu qu’il existe une syntaxe pour déclarer des “membres de structures” carrément dans des “champs de bit”. Du genre: tu déclares un entier 4 oct, puis tu dis: les bit 0-3 c’est un entier de 4 bit en temps que membre, les bit 4-12 c’est un autre entier,… et aprés tu peux faire des assignations directement sur ces membres.
Faudrait que je retrouve ça: pratique pour du short code ou de la serialisation packé. (et le PPC a des instruction asm qui vont bien pour ça.)
ah benvoilà:
http://www.spi.ens.fr/~beig/systeme/langageC.html
Les champs de bit:
C’est une structure où l’on descend au niveau du bit.
struct word {
unsigned octet:8;
unsigned fill:7;
unsigned bit:1;
unsigned demi:16;
};
donc aprés on peut faire:
struct word mastruct;
mastruct.fill = 127 ;
Yomgui : Le K&R je l’ai trouvé à Cash Converter il y a deux semaines : je l’ai pris vu le prix ! Je vais y jeter un oeil mais après soit je le garde sous verre pour le côté référence, soit je le revends. J’ai “Méthodologie de la programmation en C” de JP Braquelaire et je le trouve mieux que le K&R. Plus lisible, plus complet, etc.
12 sujets de 1 à 12 (sur un total de 12)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › 7 ans de C et j’apprend encore!