Structures
Notions et points abordés :
Déclaration d'une structure
Syntaxe |
Exemple |
|
struct struct |
Affectation d'une structure
(affectation de chaque champ de la structure)
Syntaxe |
Exemple |
nom.champ2 = valeur; |
// Affectation de chaque champ de la case A1 A1.colonne = 'A'; A1.rangee = 1; A2.colonne = A1.colonne; A2.rangee = A1.rangee+1; |
Définition d'un nouveau type
Syntaxe |
Exemple |
|
// Définition du type des booléens typedef int bool; #define true 1 // Déclaration et affectation d'un booléen bool b; b = true; // Définition du type case d'un échiquier typedef struct // Déclaration et affectation de cases Case B1; B1.colonne = 'B'; X = B1; |
#include <stdio.h> |
Syntaxe |
Exemple |
|
// Déclaration d'un pointeur sur une case Case *p; // allocation d'une zone mémoire pour 1 case p = malloc(sizeof(Case)); // Affectation de la structure pointée par p (*p).colonne = 'C'; // ou de façon plus concise : p->colonne = 'C'; |
Syntaxe |
Exemple |
|
// Déclaration d'un type ensemble de nombres
réels typedef struct // Déclaration d'un ensemble E ensemble E; // Affectation à E de l'ensemble vide { } E.contenu = NULL; // Affectation à E de l'ensemble { 3.14 } E.contenu = malloc(sizeof(float)); |
Définir un type
complexe
pour représenter les nombres
complexes. On utilisera une structure à deux champs pour la partie réelle et la
partie imaginaire d'un nombre complexe.
complexe
cons_complexe( float r, float i )
Écrire une
fonction qui affiche un nombre complexe (sous la forme a+ib)
void
affiche_complexe( complexe c )
somme_complexe
et produit_complexe
d'addition et de multiplication de deux nombres complexes. On
rappelle que : (a1+ib1)+(a2+ib2)
= (a1+a2)+i(b1+b2) et (a1+ib1)x(a2+ib2)
= (a1xa2-b1xb2)+i(a2xb1+a1xb2).
Polynômes à coefficients
réels
Définir un type
polynome
pour représenter les polynomes de
degré n à
coefficients réels. On utilisera une structure à deux
champs : un entier
degre
égal à n et un tableau dynamique
coef
de n+1
réels contenant les coefficients du polynôme.
Écrire une
fonction qui prend en paramètre un entier n,
et qui retourne un nouveau polynôme de degré n, dont tous les coefficients sont
égaux
à 1.
polynome
cons_polynome( int n )
Écrire une
fonction qui affiche un polynôme (sous la forme anxn+an-1xn-1+
....+a1x+a0
)
void
affiche_polynome( polynome p )
somme_polynome
et produit_polynome
d'addition et de multiplication de deux polynômes.
Définir un type
polynome_complexe
pour représenter les
polynômes de degré n
à coefficients complexes. Mêmes questions que pour les
polynômes
à coefficients réels.