Bien programmer en langage C
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Cartes Pokémon 151 : où trouver le coffret Collection Alakazam-ex ?
Voir le deal

L'échelle de Goret - quelques précisions

2 participants

Aller en bas

L'échelle de Goret - quelques précisions Empty L'échelle de Goret - quelques précisions

Message  C_dur Dim 14 Déc 2008 - 19:48

Bonjour à tous,

Suite à la lecture de l'échelle de Goret Laughing
A voir ici !
J'en suis venu à me poser quelques questions :

Dans Force 1:
Utilisation du type long là ou un int suffit
Question: Je pensais que cela n'avait plus d'importance car ils
avaient la même taille ?

Utilisation du type int ou long pour les index
Question: Il convient d'utiliser quel type pour ces index ?

Dans Force 2:
Définitions de plus d'une variable par ligne
Question: Donc le genre
Code:
int i=0, compteur=0
devrait être évité ?


Utilisation du type int ou long pour les tailles ou nombre d'objets
Question: Il convient d'utiliser quel type ?

Dans Force 4:
Utilisation abusive d'une fonction dans une boucle
Code:
for(i = 0; i < strlen(texte); i++
Question: Il vaudrait mieux passer par l'emploi d'une variable ? (je pensais qu'en éviter l'emploi était mieux)

Dans Force 6:
cacher les pointeurs
Question: Je ne comprend pas... comment pourrait-on cacher un pointeur ?

Dans Force 10:
Utilisation de gets() ou de scanf() avec "%s"
Questions: Remplacer par l'utilisation de fgets ?

Beaucoup de questions, j'en conviens, mais j'en suis toujours au stade de débutant et quitte à continuer l'étude du C (pour mon plus grand plaisir) j'aimerais autant prendre de bonnes habitudes.

En vous remerciant d'avance pour vos réponses éclairées,
Amicalement,
C_dur

C_dur

Messages : 1
Date d'inscription : 14/12/2008

Revenir en haut Aller en bas

L'échelle de Goret - quelques précisions Empty Re: L'échelle de Goret - quelques précisions

Message  -ed- Lun 15 Déc 2008 - 3:48

C_dur a écrit:Suite à la lecture de l'échelle de Goret Laughing
A voir ici !
J'en suis venu à me poser quelques questions :

Dans Force 1:
Utilisation du type long là ou un int suffit
Question: Je pensais que cela n'avait plus d'importance car ils
avaient la même taille ?
Non. Le C donne des minimas, et ils sont différents. La taille réelle dépend de l'architecture (<limits.h>). En 32-bit int et long on la même taille (en x86, mais en 68k, c'est réglable...), mais ce n'était pas vrai en 16-bit et ça ne l'est pas non plus en 64-bit...

http://mapage.noos.fr/emdel/init_c.htm#type

Utilisation du type int ou long pour les index
Question: Il convient d'utiliser quel type pour ces index ?

http://mapage.noos.fr/emdel/notes.htm#size_t

Dans Force 2:
Définitions de plus d'une variable par ligne
Question: Donc le genre
Code:
int i=0, compteur=0
devrait être évité ?
Oui. Ca rend le code illisible et difficile à maintenir. Il n'y a aucune raison de grouper les variables. Au contraire, pour des question de lisibilité et de structuration du code, elles doivent avoir leur portée réduite au minimum, donc définies au plus près de l'usage (et initialisées le plus vite possible).

http://mapage.noos.fr/emdel/notes.htm#portee

Utilisation du type int ou long pour les tailles ou nombre d'objets
Question: Il convient d'utiliser quel type ?
Comme pour les index : size_t.

Dans Force 4:
Utilisation abusive d'une fonction dans une boucle
Code:
for(i = 0; i < strlen(texte); i++
Question: Il vaudrait mieux passer par l'emploi d'une variable ? (je pensais qu'en éviter l'emploi était mieux)
Tout faire pour éviter les appels de fonctions inutiles (surtout strlen() qui fait une boucle à la recherche du 0). La longueur (sauf algo particulier) est invariante. Une variable 'const' avant la boucle suffit :
Code:

{
  size_t const len = strlen (texte);
  size_t i;
  for (i = 0; i < len; i++)
  {

Dans Force 6:
cacher les pointeurs
Question: Je ne comprend pas... comment pourrait-on cacher un pointeur ?
Avec un typedef :

Code:
typedef type *typep;

Dans Force 10:
Utilisation de gets() ou de scanf() avec "%s"
Questions: Remplacer par l'utilisation de fgets ?
Oui, comme préconisé sur mon site où se trouvent la plupart des réponses à ces questions...
-ed-
-ed-
Admin
Admin

Messages : 290
Date d'inscription : 26/05/2008
Age : 67
Localisation : Paris 14eme arrondissement (75, France)

http://bien-programmer.fr

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser