La Maison
Mémoires Gratuits : La Maison. Recherche parmi 300 000+ dissertationsPar dissertation • 28 Novembre 2012 • 782 Mots (4 Pages) • 772 Vues
int main(void)
{
const int size = 10; /* Taille du tableau */
int tab[size]; /* Tableau proprement dit */
int i; /* Variable de boucle */
/* Initialisation du tableau */
for (i = 0; i < size; i++)
tab[i] = random()/(RAND_MAX/100);
/* Affichage du tableau */
for (i = 0; i < size; i++)
printf("%d ", tab[i]);
printf("\n");
/* Affichage des résultats */
printf("Maximum = %d\n", itarray(max, tab, size));
printf("Somme = %d\n", itarray(sum, tab, size));
printf("Produit = %d\n", itarray(prod, tab, size));
Travaux Dirig´es de C n
Cours de langage et programmation
—L3 Informatique—
D´eclarations de types compexes
Les exercices de cette s´eance permettront de voir quelques applications plus complexesde
la notion de pointeur. Nous verrons en particulier les notions de pointeur sur
fonction et de type d´esincarn´e, l’allocation de m´emoire et la cr´eation de type.
x Exercice 1. (Pointeur et fonction 1) D´eclarer une fonction f sans argument retournant
l’adresse d’une proc´edure sans argument. On rappelle qu’une proc´edure est une fonction ne
renvoyant aucune valeur utile, c’est-`a-dire renvoyant un objet de type void.
x Exercice 2. En utilisant l’op´erateur typedef, d´eclarer en C les types suivants :
1. Pointeur sur pointeur sur char,
2. Pointeur sur tableau de char,
3. Pointeur sur un tableau de 7 char,
4. Pointeur sur une fonction ne prenant pas de param`etre et retournant void,
5. Tableau de 12 pointeurs sur fonction retournant un pointeur sur un tableau de 7 char,
et prenant en parametre un int.
x Exercice 3. D´eclarez une fonction
1. qui prend en argument un pointeur sur un tableau de 3 entiers et qui retourne un
o
pointeur sur un tableau de 3 entiers,
2. qui prend en argument un tableau de 3 entiers et qui retourne un tableau de 3 entiers,
3. qui prend en argument un pointeur sur une fonction qui prend en argument un entier et
retourne un pointeur sur une fonction qui retourne un char et qui prend en argument
un short, et qui retourne son argument.
x Exercice 4. (type d´esincarn´e pour l’allocation dynamique) On veut r´eserver la place
m´emoire pour N objets de type ”tableau de 5 pointeurs sur entiers”.
tel bloc. Faire la mˆeme d´eclaration pour un tableau statique.
6
´
Ecrire l’allocation d’un
x Exercice 5. (Fonction et pointeur 2 : types d´esincarn´es pour le prototypage) Supposons
que, dans le cadre d’un programme de type calcul formel, on veuille d´eclarer une fonction ∆
qui renvoie la d´eriv´ee par rapport `a x ou y d’une fonction `a deux variables r´eelles f(x, y) `a
valeurs dans R.
1. D´eclarer un identificateur f de type ”pointeur sur fonction `a deux arguments r´eels
retournant un r´eel”.
2. En d´eduire le type d´esincarn´e correspondant `a f.
3. D´eclarer l’identificateur Delta. Le choix de la variable de d´erivation (x ou y) pourra
se faire par exemple en passant un argument entier `a la fonction Delta : si argnum=1,
on d´erive par rapport `a la premi`ere variable, si argnum=2, on d´erive par rapport `a la
deuxi`eme...).
4. D´eclarer le
...