User: alciro    User
 Original    Translate to:  Deutsch  English  Français  中文  
 

Programación en C++ Builder

 Tableaux (tableaux)
 Pointeurs
3. Exemple de la classe en c + +
8. méthodes de la classe AnsiString
 C + +
 Paquets, de distribuer une application sans installation
 Exchange ou le tri des bulles
 Fonctions de chaîne string.h

Pointeurs

Pointeur A

ou un indicateur est une référence à un objet d'un type spécifié de façon indirecte. Fondamentalement un pointeur contient la mémoire d'un poste de type de données.

Pointeurs permettent travailler pour la référence, de créer et de manipuler des objets dynamiques de structures de données, listes, piles, files d'attente et arbres.

Déclaration

Pointeurs doivent être déclarés en tant que pointeurs à l'aide de la opérateur unitaire ' *' (indirection). Pour sa déclaration pour une variable, elle est régie par les mêmes mécanismes, appliqués à la déclaration d'une variable. Comme un pointeur représente une indirection variable (pointe vers la variable), déclarer le type de données de la variable qui pointera vers.

TipoDato * NombreVariable ;

Exemple de déclaration d'un pointeur p nom qui pointera vers une variable de type int entero :

 int n; / / un int entier n instruction variable * P; / / déclaration d'une variable un pointeur p un entier de type

L'opérateur d'adresse &

-

Regla :

  • p =... quelle utilise le nom du pointeur est accessible les données de contenu, la valeur de l'adresse de mémoire variable.
  • * p =... lorsqu'il est utilisé avec l'accès de l'opérateur « * » à l'indirection, vous travaillez avec le contenu de la mémoire ciblée.

Mesures pour travailler avec les pointeurs et pas faire des erreurs.

  1. Déclare certains type de pointeur (int * p;).
  2. Commencer le pointeur, assurez-vous qu'elle pointe vers la variable (p = &...;).
  3. Travailler avec le pointeur (* p =...;).

exemple de pointeurs, vecteur de la copie

 / /-#include <vcl.h> # incluent <iostream.h> # incluent hdrstop <conio.h> #pragma / / fonctions prototype void copiaVector (int * v1, int * v2, int NB); / /-#pragma argsused int main (int argc, char * argv {/ / Variables int v [] = {3, 34, 1, 53, 15, 6};}   / / Vector 1 int x [6] ;   / / Vector 2 / / le tableau d'affichage avec des nombres aléatoires pour (int n = 0; n < 6; n ++) {cout << x [n] << "";}

copiaVector (v, x, 4) ;

/ / Afficher le vecteur en copiant le premier cout de 4 termes << endl ;
pour (int n = 0; n < 6; n ++) {cout << x [n] << "";}

getch() ;
return 0 ;
} / /-/ * vecteur copie fonction d'entier type v1 - > pointeur vers original vecteur v2 - > pointeur vers vecteur destination num - > nombre d'éléments à copier * / void copiaVector (int * v1, int * v2, int NB) {pour (int n = 0; n < num; n ++) {*(v2+n) = *(v1+n);}  {{/ / Copier le vector2 vector1 points}}

Exemple de pointeurs, ascendant d'un vecteur

 / /-# include <vcl.h> # include <iostream.h> # include <conio.h> # pragma hdrstop # définit DIM 6 / / dimension du tableau / / fonctions prototype void copiaVector(int_*v1,_int_*v2,_int_num) ; void ordenA(int_*v,_int_n); / /-# pragma argsused int main(int_argc,_char*_argv[]) {/ / variable int v [] = {3, 34, 1, 53, 15, 6};}   / / Vecteur 1 int x [DIM] ;   / / Vecteur 2 / / afficher le tableau avec des nombres aléatoires pour (int_n = 0; _n < 6; _n ++) {cout << x [n] << "";}

copiaVector(v,_x,_DIM) ;

/ / Afficher le vecteur copie cout de termes << endl ;
pour (int_n = 0; _n < Dim ; _n ++) {cout << x [n] << "";}

ordenA(x,_DIM) ;

/ / Afficher le tableau a ordonné le cout << endl ;
pour (int_n = 0; _n < Dim ; _n ++) {cout << x [n] << "";}

getch() ;
retour 0 ;
} / /-/ * vecteur de copie de fonction de v1 de type entier - > pointeur vers original vecteur v2 - > pointeur vers vecteur destination num - > nombre d'éléments à copier * / void copiaVector(int_*v1,_int_*v2,_int_num) {pour (int_n = 0; _n < num ; _n ++) {*(v2+n) = *(v1+n);}}  {{/ / Copier le vector2 de vector1 dans les éléments}} / * tri fonction tableau croissant par la méthode de la bulle * v - > pointeur vers le vecteur d'ordre n - > nombre d'éléments dans le vecteur * / void ordenA(int_*v,_int_n) {int j, aux ; int i = 0; bool ord = false;}

/ / Ordinations while(!ord) {/ / comparaisons ord = true;}
	pour (j = 0; j < n-1-i; j ++) {si (* (v + j) > * (v + j + 1)) {/ / Exchange aux éléments = * (v + j);}}
			* (v + j) = * (v + j + 1) ;
			* (v + j + 1) = aux ;
			Ord = false ;	{{/ / Indicateur de triés vecteur}} i ++ ;
}
}
Loading
copyright © 2007-2024  www.alciro.org  All rights reserved.         
Share |