Je viens de me rendre compte de mon erreur dans un bout de code qui remplit un tableau c à 2 dimensions.
J'ai déclaré le tableau comme suit :
int myArray[5][5];
mais a défini par erreur une valeur avec :
*myArray[3,4] = 10;
alors qu'il aurait dû l'être :
myArray[3][4] = 10;
Ok, la première ligne est une erreur mais il a compilé et s'est exécuté, bien qu'avec des résultats très étranges. (par exemple, quand j'ai essayé d'imprimer le contenu de *myArray[3,4], il y avait la mauvaise valeur)
Quelqu'un peut-il expliquer ce qu'est exactement la première déclaration d'affectation ? faire ?
edit : j'ai d'abord essayé d'utiliser :
myArray[3,4] = 10;
ce qui a provoqué une erreur du compilateur parce que j'essayais d'assigner un int à un type *int. Je suppose qu'il a évalué 3,4 à 4 comme indiqué dans la réponse ci-dessous et a compris que j'essayais d'ajouter 4 à un pointeur et que je devais donc utiliser l'adressage par pointeur pour accéder au tableau.