Maison > Article > développement back-end > Comment calculer la somme des éléments d’un tableau en C à l’aide de pointeurs ?
Un pointeur est une variable qui stocke l'adresse d'autres variables.
Considérez l'instruction suivante -
int qty = 179;
La syntaxe pour déclarer un pointeur est la suivante -
int *p;
Ici, 'p' est une variable de pointeur qui contient l'adresse d'une autre variable.
L'opérateur d'adresse (&) est utilisé pour initialiser les variables de pointeur.
Par exemple,
int qty = 175; int *p; p= &qty;
C'est une collection d'adresses (ou) une collection de pointeurs.
Ce qui suit est la déclaration d'un tableau de pointeurs -
datatype *pointername [size];
Par exemple,
int *p[5];
Il représente un tableau de pointeurs pouvant contenir cinq adresses d'éléments entiers.
'&' est utilisé pour initialisation
Par exemple,
int a[3] = {10,20,30}; int *p[3], i; for (i=0; i<3; i++) (or) for (i=0; i<3,i++) p[i] = &a[i]; p[i] = a+i;
L'opérateur d'indirection (*) est utilisé pour l'accès.
Par exemple,
for (i=0, i<3; i++) printf ("%d", *p[i]);
Ce qui suit est un programme C qui utilise des pointeurs pour calculer la somme des éléments du tableau -
Démonstration en direct
//sum of array elements using pointers #include <stdio.h> #include <malloc.h> void main(){ int i, n, sum = 0; int *ptr; printf("Enter size of array : </p><p>"); scanf("%d", &n); ptr = (int *) malloc(n * sizeof(int)); printf("Enter elements in the List </p><p>"); for (i = 0; i < n; i++){ scanf("%d", ptr + i); } //calculate sum of elements for (i = 0; i < n; i++){ sum = sum + *(ptr + i); } printf("Sum of all elements in an array is = %d</p><p>", sum); return 0; }
Quand Lors de l'exécution de la procédure ci-dessus, les résultats suivants sont produits -
Enter size of array: 5 Enter elements in the List 12 13 14 15 16 Sum of all elements in an array is = 70
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!