Bonjour à tous,
N'étant pas surchargé de boulot en ce moment, je suis allé lire quelques articles du dailywtf (nda: des histoires de bourdes réalisées dans le domaine de l'informatique et de la programmtion en général). Et je suis tombé sur cet article:
http://thedailywtf.com/Comments/Mister-Fixit.aspx
Pour résumer, il apparait que la bourde a été de changer le mode d'initialisation des variables. Ce qui auparavant était comme ceci:
1 2 3 4 5 6 7 8 9 10
|
int main (int argc, char **argv)
{
int x;
char data_string[15];
...
x = 2;
strcpy(data_string,"data data data");
...
} |
a été changé pour ceci
1 2 3 4 5 6
| int main (int argc, char **argv)
{
int x = 2;
char data_string[15] = "data data data";
...
} |
En gros, une initialisation des variables lors de la déclaration.
Je ne vois pas de problème pour ce qui est de l'entier. En revanche, il me semble que la façon de déclarer le tableau de char
char data_string[15] = "data data data";
peut poser problème car alors l'adresse de ce tableau n'est pas mémorisé, et la variable devrait être déclarée en tant que constante et ne devrait pas être modifiée par la suite. (je tiens ça du bouquin "C Unleashed" si ma mémoire est bonne)
Serait-ce donc cela la bourde qui a été commise ?
Voilà si comme moi vous avez un moment dites ce que vous en pensez
Partager