Je fais quelques exercices pour comprendre comment accéder aux valeurs d'un tableau après qu'elles ont été modifiées avec des pointeurs. Quelqu'un peut-il indiquer pourquoi la première sortie ne montre pas la sortie désirée? Je suis en train de faire à la fois pour imprimer Cout 1234, un en utilisant le nouveau pointeur et un en utilisant la position dans le tableauPointeurs et conversion d'un tableau char en un int
int main()
{
char myArray[50]={0};
short* sizeOfAlloc=(short*)(myArray+5);
*sizeOfAlloc=1234;
cout << (short*)(myArray+5) <<endl;
cout << *sizeOfAlloc <<endl;
system("pause");
}
Dans la première ligne, vous ne déréférencer. –
myArray est un 'char **' mais vous le convertissez en 'short *'. 2 problèmes: 1. (le principal), vous avez changé le niveau d'indirection. 2. Vous avez transtypé 'char' en' short', ce que vous ne devriez faire que si vous savez vraiment ce que vous faites (plus probablement vous voulez lancer 'int16_t') – Dave
Merci Daniel et Dave. En ce qui concerne votre premier commentaire dave, connaissez-vous un meilleur moyen de convertir certains caractères en un double ou autre chose? – user2012481