J'ai un code hérité et une fonction qui prend un tableau de caractères en paramètre.Accès au tableau, confusion de pointeur
typedef char myString[256];
void MyFunc(myString param)
{
int i;
for (i = 0; i < 256; i++)
{
if (param[i] ....
Je voudrais rendre plus efficace et de passer un pointeur sur le tableau de caractères:
void MyFunc(myString *param)
{
int i;
for (i = 0; i < 256; i++)
{
if (*param[i] <========= Thsi is wrong
Lorsque je tente de référencer les éléments du tableau, je reçois une mauvaise valeur, donc de toute évidence quelque chose mal avec mon pointeur déréférencement. Cela fait un moment que j'ai codé en C, donc je ne vois pas l'erreur évidente.
Quelqu'un peut-il le signaler?
Lorsqu'il est passé à une des fonctions, des tableaux "désintégration" des pointeurs de toute façon. Vous ne le rendrez pas plus efficace en jouant à des jeux comme ça. – dmckee
Il est temps d'étudier la sémantique des matrices –
Cela pourrait être utile. BTW: [Le C Book - Arrays, l'opérateur & et les fonctions] (http://publications.gbdirect.co.uk/c_book/chapter5/arrays_and_address_of.html). Une de mes références C préférées. – detly