Jour 3 - Concepts avancés

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
80
Mois de parution
septembre 2015
Domaines


Résumé
Le principal enjeu de cet article consiste à présenter la notion des pointeurs, qui est une clé essentielle pour comprendre le langage C. Nous présenterons leur intérêt, dans la continuité de ce que nous avons déjà vu ainsi que ce qu'il faut savoir pour que cette notion ne reste pas confuse. Parce que sachez-le, si vous faites du C, vous serez obligé de maîtriser les pointeurs.Dans un second temps, nous allons tout naturellement voir ce que ces pointeurs nous permettent de faire : tableaux dynamiques, chaînes de caractères dynamiques, mais également structures.Il s'agit du dernier article qui présente le cœur du C et il est probablement le plus délicat et le plus important.

1. Pointeurs

1.1 Quelques éléments de vocabulaire

Une variable est une association entre un nom (l'identifiant de la variable) et une valeur. Cette valeur est stockée dans un emplacement mémoire dédié. Il s'agit d'un espace continu et ce dernier est réservé une fois pour toutes à la déclaration de la variable et ne change pas pendant sa durée de vie.

Étant donné la nature statique et explicite du typage de C, on connaît la taille de cet emplacement mémoire. Son adresse est l'adresse mémoire du début de cet emplacement continu d'une taille définie et connue. On la nomme aussi sa référence.

Ainsi, si l'on a :

int variable = 42;

L'adresse de variable peut être obtenue et affichée sous la forme hexadécimale ainsi :

printf("adresse de la variable : %p\n", &variable);

Dans un tel cas d'utilisation, connaître l'adresse d'une variable n'apporte strictement rien. Par contre, lorsque l'on travaille avec des structures plus complexes, cela peut présenter un intérêt certain....

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Le point sur le débogage en Python

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
111
Mois de parution
novembre 2020
Domaines
Résumé

Il n'existe pas une unique façon de déboguer du code en Python. Dans cet article, nous allons faire un rapide tour des différentes techniques qui s'offrent à vous pour traquer les bugs.

Les bases de LaTeX sous GNU/Linux et Windows

Magazine
Marque
GNU/Linux Magazine
Numéro
242
Mois de parution
novembre 2020
Domaines
Résumé

Et si nous retournions aux sources ? Des articles sont régulièrement consacrés à LaTeX dans ce magazine, mais comment les utiliser si l'on part de zéro ? Dans cet article, je vous propose de voir ou revoir comment installer LaTeX, configurer un éditeur et gérer les extensions/paquets pour une utilisation sous GNU/Linux ou Windows. Une sorte de guide de survie pour prof de maths, en cas d'obligation d'enseignement à distance...

Débugage facile avec Sentry

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
111
Mois de parution
novembre 2020
Domaines
Résumé

Nous le savons tous, aucun code n’est exempt de bugs. Nous avons beau écrire tous les tests unitaires du monde, tous les tests fonctionnels, avoir une couverture du code par nos tests de 200 %, il y a toujours des bugs qui passent à travers les mailles du filet. Sentry est là pour vous aider à les trouver et à les corriger grâce à vos utilisateurs, et ce, sans qu’ils ne s’en rendent compte.

Résolution azimutale d’un RADAR à bruit : analyse et réalisation d’un RADAR à synthèse d’ouverture (SAR) par radio logicielle

Magazine
Marque
GNU/Linux Magazine
Numéro
242
Mois de parution
novembre 2020
Domaines
Résumé

Nous complétons la mesure de distance des cibles RADAR par la mesure d’azimut rendue possible par la synthèse d’ouverture d’antenne, afin de localiser leur position et ainsi d’identifier précisément leur nature par superposition sur une photographie aérienne. La souplesse de la radio logicielle est illustrée par la montée en fréquence (2,4 GHz), sans modifier aucun élément matériel autre que les antennes.

Débogage JavaScript côté client

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
111
Mois de parution
novembre 2020
Domaines
Résumé

Si JavaScript a longtemps évoqué l’idée de petit script dans un site internet, il est aujourd’hui souvent utilisé comme fondation d’application web complexe (notamment via des frameworks comme ReactJS ou VueJS). Dans ce contexte d’usage avancé, il est nécessaire d’avoir en main les bons outils et techniques de débogage.