Créer et utiliser un tableau de pointeurs en c

Créer et utiliser un tableau de pointeurs en c
Les tableaux et les pointeurs sont parmi les structures de données les plus fondamentales de la langue C. Ils nous permettent de créer des programmes flexibles et faciles à gérer avec seulement quelques lignes de code.

La plupart d'entre nous connaissent la création de tableaux avec des types de données tels que des entiers, des caractères ou des flotteurs. Ce guide vous montrera comment créer un tableau de pointeurs et l'utiliser pour stocker des données.

Comment créer un tableau

Nous pouvons définir un tableau comme une collection d'articles. Par exemple, un tableau peut stocker des noms de 100 personnes et de ces.

Pour déclarer un tableau en C, nous utilisons la syntaxe:

DataType Arrname [Arrsize];

Ici, le type de données fait référence au type de tableau, qui peut être un entier, un flotteur, un caractère ou un pointeur.

L'arrname fait référence au nom donné au tableau, qui peut être n'importe quel terme descriptif pour la variable tant qu'il obéit aux règles de nommer une variable en C.

Enfin, l'Arrsize fait référence au nombre total d'articles à stocker dans le tableau. Cette valeur est constante et immuable une fois déclarée.

Par exemple, nous pouvons définir un tableau d'entiers pour stocker 10 valeurs comme suit:

int myarray [10];

Nous pouvons également définir et initialiser un tableau dans la même ligne. Par exemple, pour définir le tableau ci-dessus et le remplir avec les valeurs requises, nous pouvons faire:

int myArray [10] = 1,2,3,4,5,6,7,8,9,10;

Nous pouvons également faire de même sans spécifier explicitement la taille du tableau. Considérez l'exemple ci-dessous:

int myArray [] = 1,2,3,4,56,7,8,9,10;

Pour accéder aux éléments dans un tableau, nous utilisons la méthode d'indexation en spécifiant le nom du tableau suivi de l'index de l'élément auquel nous souhaitons accéder.

Par exemple, pour accéder à l'élément de l'index 5, nous pouvons faire

printf («% d», MyArray [5]);

Dans ce cas, il devrait retourner le 6e L'article dans le tableau car l'indexation du tableau commence à 0. Par conséquent, le premier élément est à 0, le deuxième élément à 1, et ainsi de suite.

Nous pouvons également utiliser la méthode ci-dessus pour modifier les valeurs dans un tableau.

Voici un exemple:

MyArray [5] = 5;

L'instruction ci-dessus modifiera la valeur du tableau à l'index 5 à 5.

C pointeurs

Les pointeurs sont des variables que nous pouvons utiliser pour stocker les adresses des valeurs dans un programme. Par exemple, lorsque vous définissez une variable, il se voit attribuer une adresse mémoire à laquelle vous pouvez accéder en utilisant le
&varname;

Par exemple:

int i = 10;
printf («% p», & i);

Le code ci-dessus devrait donner l'adresse de la variable «i». Notez que cette adresse peut varier à chaque fois que vous exécutez le programme.

Voici un exemple d'adresse:

0061ff1c

Déclarer un pointeur

Pour déclarer un pointeur en C, nous utilisons le type suivi d'un astérisque et du nom de la variable.

Par exemple:

int * ptr, i;

Pour attribuer une adresse au pointeur, nous pouvons faire:

int i = 10;
ptr = & i;

Dans l'exemple ci-dessus, nous définissons l'adresse de la variable «i» à * ptr.

int * ptr, i;
i = 10;
ptr = & i;
printf ("% p", * ptr);

Accéder aux valeurs à partir d'un pointeur

Nous pouvons accéder aux valeurs stockées dans une adresse de pointeur en utilisant la notation astérisque (*). Par exemple:

int * ptr, i;
i = 10;
ptr = & i;
printf ("% d", * ptr);

Dans ce cas, nous obtenons la valeur spécifique stockée et non l'adresse de la valeur.

Tableau de pointeurs

Au fur et à mesure que nous avons créé un tableau de valeurs entières dans les exemples ci-dessus, nous pouvons créer un tableau d'un pointer-basalement, un tableau qui stocke les adresses de mémoire.

Pour ce faire, nous pouvons utiliser la syntaxe:

int * ptRarray [10];

Dans cet exemple, nous avons un tableau de 10 pointeurs entiers, vous permettant de stocker des adresses mémoire de 5 variables entières.

Par exemple, nous pouvons avoir le code simple ci-dessous:

#inclure
int main()
int * ptRarray [4];
int w = 100, x = 200, y = 300, z = 400;
ptRarray [0] = & w;
ptRarray [1] = & x;
ptRarray [2] = & y;
ptRarray [3] = & z;
pour (int i = 0; i< 4; i++)
printf ("La valeur% d a l'adddress% d \ n", * ptRarray [i], ptRarray [i]);

retour 0;

Une fois que nous avons compilé et exécuté le code ci-dessus, nous devons obtenir des résultats similaires à ceux ci-dessous:

La valeur 100 a l'adddress 6422280
La valeur 200 a l'adddress 6422276
La valeur 300 a l'adddress 6422272
La valeur 400 a l'adddress 6422268

En utilisant cette méthode, nous pouvons accéder aux adresses et aux valeurs stockées dans le pointeur du tableau.

Conclusion

Dans ce court guide, nous avons discuté de la façon d'utiliser des tableaux et des pointeurs dans la langue C. Nous avons également discuté de la façon de créer un tableau de pointeurs pour stocker les adresses pour diverses valeurs.