Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3296 connectés 

 


Dernière réponse
Sujet : [C] Ecriture des pointeurs
Alload Oki, moi qui croyait que tout le monde utilisait *nombre pour initialiser un pointeur... Je me suis bien trompé :)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Alload Oki, moi qui croyait que tout le monde utilisait *nombre pour initialiser un pointeur... Je me suis bien trompé :)
HelloWorld Histoire de mettre mon petit grain de sel ...
"de toute façon le nom du pointeur ne sera plus jamais précédé du * après son initialisation"
 
*pointeur = 10;
 
C'est pas si illogique alors ! ;)
 
Perso, moi je fait :

Code :
  1. int * ptr;


Mais tout ça c'est un style perso ... c'est comme écrire i=i+2; ou i = i + 2;

Krueger Pas la norme? :confused: En quoi? Et c'est normé???
MrTonio hey mais :  

Citation :

int* toto;


c pas la norme tout ca  :sarcastic:  :D

gilou

cycojesus a écrit a écrit :

 
 
une seule déclaration par ligne => plus clair à mon avis
 
int*  p;
int    q;
int** r;  
 
 




Quand j'ecris une fonction avec des manips de caracteres (un petit exemple: transformation d'une uri locale en path hfs (le fs des Macs), avec plusieurs pointeurs auxiliaires pour maniper les chaines, je vois pas pourquoi je devrais me les mettre suer plusieurs lignes. Mais bon, c'est une question de gout, ca.
Je pense que la raison initiale pour authoriser ce genre d'ecriture (int *b, **c; ) c'est que au tout debut du C, c'etait sans doute tapé sur cartes perforées. Celui qui s'est deja fadé ça dans sa vie comprendra pourquoi la compacité est privilegiée.
A+,

cycojesus

gilou a écrit a écrit :

Parce que ca permet de faire des declarations comme celle ci:
 
int *p, q, **r;
 
A+,  




 
une seule déclaration par ligne => plus clair à mon avis
 
int*  p;
int    q;
int** r;

 

[jfdsdjhfuetppo]--Message édité par cycojesus--[/jfdsdjhfuetppo]

LeGreg [HS]
Toute reconciliation est desormais
impossible ;)
[/HS]
 
A+
LEGREG
Kristoph J'ai horreur des LPxxx de Windows. Je trouve ca super lourd quand même. Non perso quels besoins il y a de definir des macros et des typedefs à tout bout de champs pour un truc aussi futile que de simples pointeur ?
 
---
Kristoph qui viens de passer une demi heure à retirer des LPCHAR et autres joyeusetés d'un programme qu'il converti pour Unix parceque ça n'avais rien à faire là.
slvn ok ok,  
c parceque je connais pas directx :d
 
perso, tout renomer je trouve ca un peut lourd ... un pointeur c pas la mort:)
LeGreg ben non mais en programmation win32
LPINT est deja defini.
 
par exemple toutes les structures de DirectX
viennent avec leur type pointeur LPMachin.  
 
A+
LEGREG
slvn

legreg a écrit a écrit :

NB, si tu ne veux pas de confusion possible:
LPINT p;
 
(avec un typedef int* LPINT;
si tu ne programmes pas sous Windows)
 
A+
LEGREG  




 
pkoi ca poserait un pb avec windows :??:

LeGreg NB, si tu ne veux pas de confusion possible:
LPINT p;
 
(avec un typedef int* LPINT;
si tu ne programmes pas sous Windows)
 
A+
LEGREG
Krueger Moi je préfère int* i car ça indique clairement que le type de i est int*.
MrTonio c sur ct une question ki m empechais de dormir moi aussi.... :D
Alload

gilou a écrit a écrit :

Parce que ca permet de faire des declarations comme celle ci:
 
int *p, q, **r;
 
A+,  



C'est vrai, j'avais pas pensé à ce cas de figure. Merci :)

deathsharp pour un seul truc ca change rien. question de gouts je pense
on ecrit bien la plus part du temps char*
gilou Parce que ca permet de faire des declarations comme celle ci:
 
int *p, q, **r;
 
A+,
Alload Alors voilà, je me suis toujours demandé pourquoi on écrivait: int *nombre, pour créer un pointeur de int.
 
Pourquoi n'écritons pas: int* nombre? Je trouve ça plus logique, car de toute façon le nom du pointeur ne sera plus jamais précédé du * après son initialisation. Donc on pourrait dire que int* représente un pointeur tout simplement.
 
Vous en pensez quoi?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)