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

 C Discussion :

les pointeurs en c


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 62
    Par défaut les pointeurs en c
    Bonsoir tout le monde,
    Actuellement je débute en C. En cours, nous avons vu la notion de pointeurs. j'ai compris que pour déclarer un pointeur il faut faire
    ceci veut dire que pour la variable a on peut donner que des adresses. Quand on veut écrire a l'intérieur d'une fonction il faut que je l'appelle avec Mon souci est que je ne vois pas son intérêt. Quelqu'un aurait la gentillesse de m'expliquer s'il vous plait merci.

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    C'est a = &b, pas &a = b.

    L'intéret tu le verra très vite en programmant un peu. Essaie de recoder la fonction strcpy() par exemple. Les pointeurs c'est la notion la plus importante qui soit en C.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut
    l'intéret c'est que tu manipule la RAM
    l'intéret c'est que tu peu manipuler quelque chose sans la copier
    l'intéret c'est que c'est très puissant
    l'interet c'est que le principe d'adresse et de valeur est la base meme de l'informatique.
    l'interet: c'est ce qui permet de faire la différence entre le code et les données

    dire ceci:
    <code>&a = b;</code>

    Est absurde pour un esprit logique:

    &a est l'adresse d'un <<object>> dans la RAM ---> constante
    = ---> "lui attribuer une valeur qui est"
    b ---> "la valeur"
    Attribuer une valeur à une constante ? impossible
    c'est comme dire que 5 = 6
    5 est constant et il ne peut pas être modifier...

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par lapinoudu33 Voir le message
    l'intéret c'est que tu manipule la RAM
    Euh, non. Tu manipules de la mémoire. Point. Le C ne sait ce qu'elle est en réalité. Le C est un langage de haut niveau qui ne sait pas ce qu'est le matériel. Il communique avec lui via des abstractions comme la mémoire, justement et les I/O (flux d'octets).

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par bolltt Voir le message
    Actuellement je débute en C. En cours, nous avons vu la notion de pointeurs.<...>Mon souci est que je ne vois pas son intérêt
    http://emmanuel-delahaye.developpez....util_pointeurs

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut
    mais RAM ne serait pas un abu de langage pour désignées des mémoires rapide et volatile?
    RAM étant définie de manière très stricte et en anglais s'il vous plaît comme étant: Random Access Memory soit c'est une "mémoire brouillon" en quelque sorte

    Je veux dire que RAM étant le terme pour parler de mémoire en générale et que c'est un abu de langage, non? (je bataille, je bataille xD)

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par lapinoudu33 Voir le message
    mais RAM ne serait pas un abu de langage pour désignées des mémoires rapide et volatile?
    RAM étant définie de manière très stricte et en anglais s'il vous plaît comme étant: Random Access Memory soit c'est une "mémoire brouillon" en quelque sorte
    Pourquoi 'brouillon' ? Rien à voir. Littéralement : Mémoire à accès aléatoire.

    Mais une fois de plus, le C ne sait pas ce qu'est la RAM... C'est une notion 'physique' de la mémoire qui lui est étrangé. Il ne connait que 'La Mémoire' qui est organisé en 2 types :

    1. La mémoire de donnée
      qui comprend 3 classes :
      1. Statique
      2. Automatique
      3. Allouée.
    2. La mémoire de code


    Je veux dire que RAM étant le terme pour parler de mémoire en générale et que c'est un abu de langage, non? (je bataille, je bataille xD)
    Chez toi, oui, ça à tout l'air d'un abus de langage...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut
    quel différence entre automatique et alloué?

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par lapinoudu33 Voir le message
    quel différence entre automatique et alloué?
    http://emmanuel-delahaye.developpez....es.htm#donnees

  10. #10
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 487
    Par défaut
    Citation Envoyé par lapinoudu33 Voir le message
    RAM étant définie de manière très stricte et en anglais s'il vous plaît comme étant: Random Access Memory soit c'est une "mémoire brouillon" en quelque sorte
    RAM est la mémoire vive, inscriptible et volatile, par opposition à ROM (Read Only Memory), immuable mais persistente. Ça, c'est la base :-)

    Maintenant, « mémoire à accès aléatoire » signifie que tu peux accéder à n'importe quel élément de manière complètement arbitraire et au même coût, ce qui est loin d'être le cas dans la plupart des structures de données en informatiques, qu'elles soient émulées par programmation au sein de ladite RAM (listes chaînées, piles ...) ou enregistrées sur des supports physiques.

    Une bande magnétique, par exemple, te permet a priori de retrouver n'importe quel élément n, mais t'oblige quand même à te palucher les n-1 éléments précédents dans l'ordre avant d'exhiber celui qui t'intéresse.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 62
    Par défaut
    Re,

    Bon, je vous explique ce que je voulais faire. Dans un premier temps je voulais vérifier que n modulo i = 0. (avec i =2).
    Si cette condition est réalisée alors je vais diviser n par i et cette valeur je vais le stocker dans une variable locale. Et aussi je dois garder la valeur de i pour pouvoir faire le produit avec certaines valeurs de i.
    si non, j'incrémente le i de i++.

    A la fin, je vais faire un printf comme vous avez dit.

    De cette manière là que je vais décomposer en facteurs premiers. Quelqu'un peut m'aider à faire le programme s'il vous plaît?

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