IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

les pointeurs ?


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 69
    Points
    69
    Par défaut les pointeurs ?
    bonjour a tous

    je suis entrain d'apprendre les pointeurs et ce n'est pas évident de comprendre, comme j'ai commencé a programmer mes début avec PHP je ne croit pas que cela existe mais je peux me tromper.

    les pointeurs sont il beaucoup utiliser ? sont t'il utiliser que si on ne peut pas modifier a volonté la taille des tableaux ?

    les pointeurs sont il comme des mémoire tampon qui ressemble a un tableau? le pointeur peut t'il remplacer un tableau?

    avec php je crois que je pouvais faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for (i = 0 , i <10, i++)
       la question ....
       tab_rep[] = reponse
    FinTantQue
    en java il est interdit de modifier un tableau donc cette methode est a proscrire, donc on utilise un pointeur.

    pourrait-on me donner un exemple simple qui utilise un pointeur en algorithme et en java?

    merci d'avance pour votre réponse.

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut Attention : description volontairement simpliste :aie:
    Houla. Beaucoup de confusion sur le sujet.

    Personnellement, je fais un parallèle entre le pointeur et l'adresse mémoire.

    Imaginons que la mémoire soit un grand tableau d'octets, l'adresse mémoire serait l'index de ce tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    byte[] RAM = new byte[1000000000];
     
    int index = 120;
    RAM[index] = 0xFF;  // "index" représente l'adresse mémoire, ici l'adresse 120
    Le pointeur est une structure qui permet de manipuler l'adresse mémoire (donc de manipuler l'index du tableau). En particulier, on peut créer un pointeur, modifier sa valeur d'adresse (= la valeur de l'index), aller a la position suivante/précédente (index+1 ou index-1), récupérer le contenu de la mémoire (= le contenu du tableau pour l'index courant), ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class Pointer {
    	int index=0; // représente l'adresse mémoire
     
    	void set(int i) {index = i ;}
    	void next() {index++;}
    	byte getContent() {return RAM[index];}
    	void setContent(byte b) {RAM[index]=b;}
    }
    Le C utilise beaucoup les pointeurs (en particulier pour les tableaux dynamiques et les chaines de caractères). Les pointeurs en C sont extrêmement puissants (on peut effectuer des opérations arithmétiques avec). Ils permettent également de manipuler des types (struct/union) et pas seulement des octets.

    En java, il n'y a pas cette notion de pointeur. La notion la plus proche est la référence, mais on ne peut pas la manipuler.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Le pointeur n'est pas un outil algorithmique, ce n'est qu'une solution technologique à la représentation de données ou au besoin d'unicité (de non redondance) de données ... Son usage dépend parfois du langage utilisé et parfois même du matériel sur lequel sera exécuté le programme.

    Pour simplifier un peu les choses, on peut dire qu'une variable simple est un contenu alors qu'un pointeur est un conteneur. Lorsque tu appelles la fonction truc() en lui soumettant une variable, tu ne fais que lui communiquer le contenu de ladite variable à partir duquel elle pourra effectuer des opérations et retourner une valeur. En revanche, lorsque tu communiques un pointeur vers une variable (ou autre chose) à machin(), tu transmets à celle-ci le conteneur d'une donnée et/ou le lieu de sauvegarde d'une autre. Libre à machin() d'aller lire ce qu'il y a dans le conteneur, voire de modifier son contenu.

    En général, un pointeur est en fait l'adresse physique, le lieu d'existence d'une donnée.

    En C, comme dans d'autres langages, le pointeur peut représenter un tableau. C'est l'adresse du premier élément dudit tableau. On ne sait par contre rien sur la taille dudit tableau.

    L'utilisation des pointeurs dépend du langage. En C et C++, ils sont abondamment utilisés. En Java, ils ne sont pas accessibles au programmeur (bien que derrière tout le système de classes, de tableaux, de références ... se cachent des pointeurs). Avec les langages fonctionnels (Lisp, Caml, Prolog, ...), les pointeurs bien que (parfois) existants sont souvent inutiles.



    Ne pouvant pas te donner d'exemple en Java et en algo pour les raisons cités ci-avant, je vais te donner un exemple en C. Nous voudrions stocker un certains nombre d'éléments (appelons les e) ; mais ce nombre est inconnu à la compilation et peut être très important.
    Une solution est de créer une structure de données (appelons la s) constituée d'un élément e et d'un pointeur vers l'éventuelle structure suivante. Ainsi, quelque soit le nombre d'éléments déjà définis, je peux toujours en ajouter un en :
    1/ demandant au système de m'allouer un espace mémoire de la taille d'un s
    2/ modifier le dernier s de la chaine pour que son pointeur indique l'emplacement de la nouvelle s
    3/ modifier le e du s nouvellement créé (qui est le e que l'on souhaite ajouter).


    Si tu veux en apprendre plus sur les pointeurs et leur utilisation, je peux te conseiller d'apprendre le langage C sur le site développez.com.

    Bonne continuation.
    -- Yankel Scialom

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 69
    Points
    69
    Par défaut
    merci beaucoup de toutes ces réponses (merci pour le lien je vais jeter un oeil)

    j'ai effectivement tout mélang,, je suis un cour en algorithme java, c'est pour cela que je demandais un algo en java, le prof a du nous donner cette partie pour surement pouvoir être capable de crée un algo quelque soit le langage utiliser. Je n'ai encore pas appris a faire du c ou c++, je me concentre pour le moment a faire des algorithmes.

    donc si j'ai bien compris par rapport a un tableau:

    on peut considérer un pointeur comme un tableau et son indice mais qui ne contient que des adresse mémoire, on pourra donc a volonté modifier cettte adresse ou modifier son indice.

    le tableau de variable quand a lui, on doit fixer le nombre d'indice, on ne peut pas changer l'indice ni les variables qui sont dedans, on ne peut pas ajouter des variables en plus

    Donc en java on ne peut donc pas connaître ou la variable à été mis dans la mémoire?

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    tu mélanges encore...

    C'est la mémoire qu'on considère comme un BLOC (ou un tableau) de n octets (bytes, bits,..)


    Comme tout ce qui touche à la mémoire, il faut pouvoir s'y déplacer et s'y retrouver.

    Pour cela on se réfère à des adresses, qui sont une position dans la mémoire.

    L'élément d'un langage (quelconque) dans lequel on stocke une adresse s'appelle un pointeur.


    Un pointeur est donc une adresse (une position) dans un bloc de mémoire (en général dans le bloc de mémoire alloué au programme. Il peut être dans le bloc total de mémoire de l'ordi, et on appelle alors cela "mémoire partagée")



    On peut donc faire de l'arithmétique - élémentaire - sur les pointeurs, puisque ce sont des positions : on peut les additionner (on augmente la position), les soustraire (on la diminue, ou bien on calcule une longueur), éventuellement diviser un pointeur (pour obtenir une taille), ou mutiplier une différence de pointeurs (pour obtenir une taille)



    Donc un tableau de variables est traité de manière identique à un tableau de mémoire :

    il a une adresse de départ, une adresse de fin, et une taille d'élément (un entier, un réel, un caractère, une structure...)

    On peut donc se référer à un élément d'un tableau par :

    - son indice
    - l'adresse de départ + son indice * la taille de l'élément
    - son adresse directe

    La seule différence est qu'en général il est peu utile d'utiliser la mémoire comme un tableau (sauf pour faire un dump (comme un coredump)) car on ne sait pas où on tombera..

    Par contre, pour répondre à ta dernière question, si, il y a un opérateur (je n'ai plus en tête comment on le nomme en Java. En C ou C++ c'est "&") qui donne l'adresse d'un élément... Et un autre opérateur qui retourne la VALEUR pointée par ce pointeur (en C c'est "*").


    Soit donc un tableau d'entier Tab de 10 éléments, et p un pointeur sur un entier.

    int Tab[10] ;
    int *pTab ;


    On peut avoir l'adresse de départ du tableau :

    Tab = &(Tab[0])

    ou

    pTab = &(Tab[0])


    On veut obtenir l'adresse du 4ième élément.

    On peut alors écrire :

    pTab = &(Tab[3])

    ou (en ayant le pTab plus haut)


    pTab = pTab + 3 * sizeof(int)
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  6. #6
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    Pour comprendre les pointeurs quand l'esprit est recalcitrant, il faut utikliser une analogie simple de tout les jours.
    L'informatique n'est que la miniaturisation des concepts et mécanismes du monde réel:

    Chaque courrier dans la boite au lettres = un élément d'une donnée

    contenu de la boite au lettre = donnée

    adresse postale de la boite au lettre = adresse

    référence de l'adresse dans l'annuaire = pointeur

    référence à l'annuaire dans un index des volumes = pointeur vers un tableau de pointeur

    étagère pleine d'annuaires = base de donnée

    pièce pleine d'étagères = serveur de bases de données

    etc...

    Une infinité de niveau de pointage est possible, c'est le coté abstraction de la chose, et seule l'imagination est une limite car les machines de maintenant sont quasi illimitées. internet représente un univers entier contenant plusieurs millions de pièces pleines d'étagères.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 69
    Points
    69
    Par défaut
    merci de toutes ces questions.
    dans mon court on me parle de chaine et c'est cela qui m'a gener dans la compréhension des ponteurs donc pour le moment tous ce que j'ai compris c'est;

    on crée une variable un par exemple
    donc on fait
    si l'on appelle le pointeur il va appeller l'adresse mémoire de cette variable aléatoirement donc j'écrit par exemple:
    donc pour m'y retrouver j'ai mis que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pointeur = Ox 111;
    donc j'ai une variable qui s'appelle "un" son contenu est un chiffre "1" et son adresse "111";

    Maintenant on me dit qu'on peut chainer tous cela j'ai essayer de le traduire en schema ?



    par contre la tête l'adresse du pointeurs ?, elle est définit aléatoirement ?

  8. #8
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Voici la liste chainée qui représente les données (dans l'ordre) 1;2;3;4;5;6.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    adresse : [ valeur | adresse suivante ]
    0x2400  : [ 5      | 0xc08a           ]
    0x26e2  : [ 1      | 0x26f4           ]
    0x26ec  : [ 4      | 0x2400           ]
    0x26f4  : [ 2      | 0x26f0           ]
    0x26f0  : [ 3      | 0x26ec           ]
    0xb000  : [ 6      | 0x0000           ]
    0xc08a  : [ 5      | 0xb000           ]
    Ainsi, si tu possèdes un pointeur de valeur 0x26e2, tu possèdes la la liste chainée 1;2;3;4;5;6. En revanche, si tu possède un pointeur de valeur 0x26ec, tu possèdes la liste chainée 4;5;6.


    Si tu veux ajouter un élément (zéro) en début de liste : facile ! Tu crées le couple [ 0 | 0x26e2 ] (qui est l'adresse du premier élément). Ainsi, un pointeur vers ce nouveau couple peut être interprété comme un pointeur vers la liste chainée 0;1;2;3;4;5;6.

    Un peu plus complexe, si tu veux ajouter un élément (sept) en fin de liste, il faut modifier le couple à l'adresse 0xb000 de [6 |0x0000] en [6|adresse] où adresse est un pointeur vers ton nouveau couple [7 | 0x0000].

    Si tu as d'autres questions ...
    -- Yankel Scialom

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 69
    Points
    69
    Par défaut
    merci de ta précision, je crois que j'ai compris le principe

    Je pensais que qu'il pouvait avoir plusieurs pointeur( donc plusieurs endroit ou sauvegarder des données), mais il n'y en a qu'un seul qui peut se déplacer du début de l'adresse(Ox 0000 0000) jusqu'a la fin si la mémoire est si elle est pleine
    (OX 1111 1111) si on a un ram de 1 octet.

    donc d'après ton tableau, j'en déduit qu'il n'y a qu'un seul pointeur, il se charge donc de récolter toute les valeurs dans un seul tableau, chronoliquement selon le programme on charge les donnée dans ce tableau qui est sa mémoire du pc.

    Si l'on connait l'adresse de la tête d'un événement on pourra ainsi listé tout ce qui à été enregister depuis le debut.

    On peut dire au pointeur dit mois toutes les variables qui se trouve entre 2 événement ? plutôt que de dire a partir de cette événement jusqu'a la fin?

  10. #10
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Le français n'est pas ta langue maternelle ? Je demande ça car je remarque des petites erreurs sémantiques qui nuisent, je pense, à ta compréhension.

    Tu parles d'événements et de chronologie. Mais il n'est nullement question de temps dans le principe de pointeur. Il n'y a pas non plus de "chargement", du moins pas tel que je le conçoit.

    Je pensais que qu'il pouvait avoir plusieurs pointeur( donc plusieurs endroit ou sauvegarder des données)
    que veux-tu dire par là ? Mais en effet, en général on s'arrange pour qu'une donnée ne soit présente qu'à un seul endroit dans la mémoire, afin d'éviter la redondance et les soucis qui y sont liés (synchro, ...).

    mais il n'y en a qu'un seul qui peut se déplacer du début de l'adresse(Ox 0000 0000) jusqu'a la fin si la mémoire est si elle est pleine
    mmh ? un pointeur ne se déplace pas. En revanche, dans le cas d'une liste chainée, on modifie une variable contenant l'adresse d'une liste chainée ; cette valeur est modifiée en suivant les pointeurs de ladite liste de proche en proche, si bien qu'on dit par analogie et par image que l'on parcourt la liste, ou que l'on se déplace dans la liste.

    (OX 1111 1111) si on a un ram de 1 octet.
    Attention, comme dit précédemment, l'idée de pointeur = adresse physique est un peu simplifiée. De la forme d'un pointeur tu ne peux rien déduire. (nota : la notation 0x12ef commence par le chiffre zéro )

    donc d'après ton tableau, j'en déduit qu'il n'y a qu'un seul pointeur, il se charge donc de récolter toute les valeurs dans un seul tableau
    Selon les cas, on peut en effet se contenter de ne connaitre l'adresse que d'un couple (valeur, adresse suivante). On parcourt ainsi notre liste jusqu'à avoir trouvé notre but ou la fin de ladite liste. Mais ce n'est pas le pointeur qui se charge de cela, c'est au programmeur d'inspecter les éléments de la liste à la main, ou en passant par une bibliothèque (~package en java).

    Si l'on connait l'adresse de la tête d'un événement on pourra ainsi listé tout ce qui à été enregister depuis le debut.
    Effectivement, si l'on connait l'adresse d'un couple (valeur, adresse suivante) on a accès à toutes les valeurs suivantes de la chaine. Et ainsi, si l'on connait l'adresse de la tête de la liste (premier élément), on a accès à totue la liste.

    n peut dire au pointeur dit mois toutes les variables qui se trouve entre 2 événement ?
    Tu peux essayer de parler à ton pointeur, mais il n'a pas la faculté de t'entendre, désolé. Il faut tout faire à la main ou passer par des bibliothèques déjà faites. The cake is a lie. Et donc forcément, si tu fais tout à la main, tu peux faire la recherche que tu veux (par exemple : chercher un élément en particulier, compter le nombre d'éléments qui satisfassent un prédicat, extraire une sous chaine, retourner une chaine, partitionner une chaine ...)


    J'espère que j'ai répondu au mieux à tes question.
    -- Yankel Scialom

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 69
    Points
    69
    Par défaut
    merci encore, c'est vrai que je me suis mal exprimé, je voulais transcrire cela en une image.

    c'est vrai que le pointeur ne peut pas se déplacer tous seul, le l'avais imaginé comme cela sans penser qu'il faudrait faire une boucle et l'avancer a la prochaine adresse.

    Lorqu'on programme 100% objet, n'a t'on plus besoin de pointeur ?

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par neufrdb Voir le message
    donc pour m'y retrouver j'ai mis que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pointeur = Ox 111;
    donc j'ai une variable qui s'appelle "un" son contenu est un chiffre "1" et son adresse "111";
    NON !!

    Tu ne PEUX PAS définir toi-même le pointeur d'une variable..


    C'est le compilateur et la machine qui déterminent cette adresse (que tu peux effectivement récupérer par &(un)), en fonction ds données et autres lignes de code que contient le programme et de ce qu'il faut à la machine pour le faire tourner.
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  13. #13
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    NON !!

    Tu ne PEUX PAS définir toi-même le pointeur d'une variable..
    Techniquement, on peut le faire en C. Meme si sur la plupart des OS ca va se terminer avec une violation d'accès car la mémoire n'aura pas été allouée par l'OS.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Techniquement, on peut le faire en C. Meme si sur la plupart des OS ca va se terminer avec une violation d'accès car la mémoire n'aura pas été allouée par l'OS.
    dis pas ça dans ce genre de discussion, ce n'est pas du bon niveau et ça ne va servir qu'à mélanger quelqu'un comme le PO...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  15. #15
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    dis pas ça dans ce genre de discussion, ce n'est pas du bon niveau et ça ne va servir qu'à mélanger quelqu'un comme le PO...
    hum... Non, je ne pense pas. Justement ca démystifie le pointeur : c'est juste une structure qui contient une adresse mémoire.

    Ca permet de mieux comprendre des fonctions comme malloc() qui allouent de la mémoire et renvoient l'adresse. Adresse que l'on stocke tout naturellement dans un pointeur, comme on pourrait stocker le retour d'une fonction dans une variable.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LG]Les pointeurs: Forme en "Anneaux"
    Par k o D dans le forum Langage
    Réponses: 4
    Dernier message: 20/10/2004, 07h29
  2. Réponses: 4
    Dernier message: 13/08/2004, 18h39
  3. [TTreeView] Problème avec les pointeurs d'objet
    Par BlackWood dans le forum Composants VCL
    Réponses: 2
    Dernier message: 02/07/2004, 14h31
  4. pointeurs, toujours les pointeurs :/
    Par giviz dans le forum C
    Réponses: 16
    Dernier message: 08/10/2003, 15h02
  5. Pb de débutant sur les pointeurs!!!
    Par benji17c dans le forum C
    Réponses: 6
    Dernier message: 30/09/2003, 17h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo