L'essentiel du langage C

Utiliser les pointeurs et les tableaux avec référencement

Testez gratuitement nos 1300 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Le pointeur sur un tableau a une référence qui correspond toujours à la dernière adresse sollicitée. Il ne correspond pas à la position de l'élément dans le tableau.
05:57

Transcription

Je vais faire le lien, une fois de plus, entre pointeur et tableau, mais cette fois-ci de façon un petit peu plus académique et plus souple. J'effectue la déclaration d'un tableau de dix éléments de type char, comme nous l'avons vu dans la vidéo précédente et je recommence avec un pointeur, mais promis celui-ci il va nous servir. Cette fois-ci je vais utiliser le pointer du tableau pour aller pointer sur les élèments afin d'avoir accès à n'importe quel élément. C'est du type char, c'est normale avec notre pointeur du tableau est de type char et en fait pointeur de tableau va automatiquement être lié à tableau. En fait se sont déjà liés et vous avez compris sur la vidéo précédente de façon naturelle. Donc, voyant un peu et utilisant la méthode plus académique. Donc vous affectez tableau à pointeur_tableau. Attention vous avez bien vu ici que je n'ai pas mis de "et commerciale" c'est-à-dire je n'adresse pas pointeur_tableau, je donne directement tableau. Donc c'est ça qui m'a permis, dans la précédente vidéo, de faire autant de rapprochement et c'est pour ça aussi que beaucoup d'informaticiens chantent un peu ce que nous somme entrain de voir qui est la version je dirais plus claire et plus académique de faire les choses, mais lorsque on veut aller vite Eh ben on fait ce que je vous ai présenté sur la vidéo précédente. tableau reçoit pointeur_tableau et non pas l'adresse. Soiwatte! Alors maintenant si je veux afficher les choses, je vais bouger un petit peu mon espace de travail histoire d'avoir comme même suffisamment de clarté Eh ben je vais aller chercher les éléments un par un. Donc pour cela, je vais lancer mon programme et on va regarder ensemble. Elèment 1 du tableau case 0 pointeur_tableau[0], il m'affiche bien 10, pas de problème. Et pourtant vous voyez que là je n'ai pas mis d'Astérix, je n'ai pas mis l'étoile, donc c'est-à-dire que déjà là j'ai mon "et commerciale" qui a disparu parce que la relation a déjà été faite et que en plus je n'ai pas même besoin d'y mettre l'Astérix. Pour vous persuader les choses, en tout cas cette élément 10 a une adresse qui est celle-ci. Donc qui peut différer pour vous pour les mêmes raisons que j'ai déjà évoqué. Maintenant, faisant la même chose pour la valeur numéro 2. Valeur numéro 2 du tableau, case 1 pointeur_tableau[1] c'est bien 20, Eh ben ouais en effet c'est 20, c'est indéniable et si on regarde au niveau de l'adresse, vous voyez bien que l'adresse, vu qu'on est sur le type char on incrémente d'un octet, donc c'est pour ça qu'en fait la relation entre tableau et pointeur est aussi étroite puisque en fait un tableau n'est rien qu'un ensemble d'éléments identiques, mais qui sont triés dans l'ordre. Donc comme vous travaillez avec des adresses ou avec des éléments pour un pointeur c'est totalement transparent, mais celle est aussi pour l'adresse d'un tableau. Maintenant, c'est on veut le pointeur, j'incrémente en fait l'élément 0 du pointeur et là je me trouve avec le même cas que précédemment dans la vidéo ou vous augmentez de 1 Eh ben oui parce que la ça ne fonctionne pas vous ne pouvez pas incrémenter comme ça le contenu. Là il faut dé-référencer votre pointeur. Alors descendant un peu dans notre programme, on va le mettre plus vers le bas, comme ceci. Et là nous allons arrivez ici. Ceci est l'élément numéro 10 du tableau. Alors là je fais tableau[10] et là bingo 0, pourquoi? Mon tableau a bien 10 élèments, non, non il a dix éléments, mais il part du 0 à 9, l'élément numéro 10 n'existe pas. Et là il y a une compilation qui c'est faite, mais il n'y a aucun problème, toute est passé à l'attrape. Vous voyez, donc vous pouvez peut être continuer à travailler dans les conditions avec les tableaux, en vous disant bon eh ben là j'ai encore de l'espace je peux y aller, si vous dépassez il ne se passera strictement rien mais vous êtes dans le choux. Il on ait de même si vous décidez d'utiliser la notation cette fois-ci pointeur de tableau, sachant qu'on part du premièr élément du tableau plus 15 Eh ben là il me faut plus s'il vous retourne -1. Et tout ça sans faire le moindre erreur de compilation ou sans avoir un seul warning. C'est pour ça qui est vraiment nécessaire de bien comprendre le fonctionnement des pointeurs et de les initialiser et de savoir où vous allez. C'est un outil très puissant qui permet de vous baladez n'importe où. D'allez récupérer des informations facilement, mais alors attention car là il n'y a aucun moyen de savoir si ce que vous faites est valide ou pas.

L'essentiel du langage C

Comprenez les concepts de base du langage C. Développez de simples applications en mode console, afin de comprendre les rouages d’un des langages les plus utilisés au monde.

7h51 (98 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :12 janv. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !