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!