Changes between Version 12 and Version 13 of CaoCourseTme2
- Timestamp:
- Feb 16, 2007, 5:01:27 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CaoCourseTme2
v12 v13 242 242 == Les fonctions de bases de la tables de hachage == 243 243 244 1. Les types {{{hte_item_t}}} et {{{hte_data_t}}} sont des structures dont le contenu n'est pas défini ici. 245 Leur contenu n'est pas défini non plus dans le fichier {{{hte.c}}}, en revanche il est défini dans les fichiers {{{dico.c}}}, {{{dejavu.c}}} et {{{namealloc.c}}} 246 Quelle est alors la contrainte d'usage de ces types dans le fichier {{{hte.c}}} ? 247 Quel est l'intérêt de cette écriture ? 248 1. Dans la définition des prototypes de fonctions, le nom des paramètre est-il nécessaire ? si non pour les mettre ? 249 244 250 '''Fichier hte.h''' 245 251 {{{ … … 273 279 */ 274 280 extern unsigned hte_hash (char *key); 275 281 }}} 282 {{{ 276 283 /* 277 284 * hte_create fabrique une table de hachage vide … … 298 305 */ 299 306 extern void hte_add (hte_root_t * root, char *key, hte_data_t * data); 300 307 }}} 308 {{{ 301 309 /* 302 310 * hte_get recherche item, et en cas d'absence l'ajoute … … 349 357 350 358 '''Fichier hte.c''' 359 360 1. Faîte un dessin représentatif de la valeur de la variable locale {{{root}}} de la fonction {{{hte_create}}} si {{{nb_list==10}}} juste avant l'appel return. 361 1. La fonction {{{hte_hash}}} peut-elle provoquer une erreur de segment ? Comment y remedier proprement ? 362 1. Dans la fonction {{{hte_create}}} comment fait-on pour tester le retour de {{{malloc}}} ? à quoi celà sert-il ? 363 351 364 {{{ 352 365 #include <stdio.h> … … 408 421 == Le service ''dejavu'' == 409 422 423 1. Pourquoi définit on la structure {{{hte_item_s}}} ici ? 424 1. La variable {{{root_namealloc}}} est static. Qu'est-ce que cela veut dire ? 425 1. Donner les autres usages du mots clé static en langage C. 426 1. A quoi sert la fonction {{{perror}}} ? 427 410 428 '''Fichier dejavu.c''' 411 429 {{{