CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] Pointeur non constant/constant ?

jeremuux
jeremuux
Niveau 6
02 novembre 2011 à 13:24:37

:hello:

Quelqu'un connait la différence ? J'ai beau chercher mais sans succès.

:merci:

Pocolo
Pocolo
Niveau 10
02 novembre 2011 à 13:56:48

C'est le même chose que pour une variable quelconque constante.

Il faut juste bien faire la différence entre un pointeur constant et un pointeur dont le type est constant :

int *const p = &number; //premier cas
int const* p = &number; //deuxième cas

Dans le premier cas c'est bien pointeur qui est constant, on ne peut donc pas changer l'adresse vers laquelle il pointe, on peut en revanche changer la valeur de la variable sur laquelle il pointe (ici number).

Dans le deuxième cas le pointeur lui-même n'est pas constant, on peut changer l'adresse vers laquelle il pointe mais on ne peut pas changer la valeur de number.

Pocolo
Pocolo
Niveau 10
02 novembre 2011 à 13:58:18

" C'est le même chose "

la même chose. :(

" c'est bien pointeur qui est constant "

le pointeur. :(

Pocolo
Pocolo
Niveau 10
02 novembre 2011 à 14:04:15

A noter aussi que les deux peuvent être constants :

const int *const p = &number;

Et dans tous les cas que j'ai donné je précise qu'on suppose bien évidemment que number n'est pas constant à la base.

godrik
godrik
Niveau 30
02 novembre 2011 à 14:58:33

Note que ce qui est important c'est avant ou apres l'etoile. Si le const est apres l'etoile, c'est le pointeur qui est constant. Si le const est avant l'etoile c'est le type poitne qui est constant.

en d'autre terme: "const int *" et "int const *" denote le meme type.

jeremuux
jeremuux
Niveau 6
02 novembre 2011 à 15:42:07

Alors là, chapeau! Au lieu d'embêter mon prof au prochain cours, j'ai eu toutes les précisions!

Merci à vous!

Green_oil_souls
Green_oil_souls
Niveau 5
02 novembre 2011 à 22:13:12

Ceci dit, les profs sont aussi la pour qu'on les embete un peu, sinon c'est pas drole :o))

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment