Sondage Pointeur

Sondage Pointeur - C - Programmation

Marsh Posté le 09-02-2004 à 13:33:20    

En tant que programmeur amateur, une question s'est posée à moi...
J'attend votre avis avec impatiente...
 :hello:

Reply

Marsh Posté le 09-02-2004 à 13:33:20   

Reply

Marsh Posté le 09-02-2004 à 13:35:34    

a coté du nom de variable. C'est logique :o

Reply

Marsh Posté le 09-02-2004 à 13:35:48    

int* p;
 
le pointeur est une notion intégrée au type: tu manipules un pointeur d'integer, pas juste un integer, pas juste un pointeur.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 09-02-2004 à 13:36:17    

déjà vu!:o

Reply

Marsh Posté le 09-02-2004 à 13:36:25    

drasche a écrit :

int* p;
 
le pointeur est une notion intégrée au type: tu manipules un pointeur d'integer, pas juste un integer, pas juste un pointeur.


 
 
tout à fait d'accord...

Reply

Marsh Posté le 09-02-2004 à 13:37:23    

drasche a écrit :

int* p;
 
le pointeur est une notion intégrée au type: tu manipules un pointeur d'integer, pas juste un integer, pas juste un pointeur.


 
nan, pas en C, perdu et dommage :D
 
 

Code :
  1. int *a,b;
  2. a= 6;<<compilo pas content [:ciler]
  3. b = 6;


Message édité par chrisbk le 09-02-2004 à 13:37:57
Reply

Marsh Posté le 09-02-2004 à 13:37:56    

comment ça pas en C? :o


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 09-02-2004 à 13:38:14    

j'attend Taz :D


---------------
IVG en france
Reply

Marsh Posté le 09-02-2004 à 13:38:27    

drasche a écrit :

comment ça pas en C? :o


 
cf edit :o
 
int *a,**b;
 
quel est le type de b ? :o

Reply

Marsh Posté le 09-02-2004 à 13:39:00    

bin t'essaies d'assigner une constante à un pointeur et le compilo se plaint, je vois pas ce qu'il y a d'anormal là-dedans, ça correspond à ma définition.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 09-02-2004 à 13:39:00   

Reply

Marsh Posté le 09-02-2004 à 13:39:45    

La première, pour montrer que le * est un modifier de la variable et pas du type.
 
int *p, i; i n'est pas un pointeur :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 09-02-2004 à 13:39:49    

drasche a écrit :

bin t'essaies d'assigner une constante à un pointeur et le compilo se plaint, je vois pas ce qu'il y a d'anormal là-dedans, ça correspond à ma définition.


 
alors pkoi il dit rien sur mon assignation a b ?

Reply

Marsh Posté le 09-02-2004 à 13:41:10    

chrisbk a écrit :

alors pkoi il dit rien sur mon assignation a b ?


oui je vois [:gratgrat]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 09-02-2004 à 13:41:23    

drasche a écrit :

bin t'essaies d'assigner une constante à un pointeur et le compilo se plaint, je vois pas ce qu'il y a d'anormal là-dedans, ça correspond à ma définition.


 
il veut dire que pour avoir 2 pointeurs, on ecrit :
 
int *a,*b;
 
et pas
 
int* a,b;


---------------
yvele n'est plus.
Reply

Marsh Posté le 09-02-2004 à 14:07:35    

pourquoi  
int *a,*b;  
 
est different de  
 
int* a,b;
 
??????
 :ange:

Reply

Marsh Posté le 09-02-2004 à 14:08:13    

Lasardine a écrit :

pourquoi  
int *a,*b;  
 
est different de  
 
int* a,b;
 
??????
 :ange:  


relis ce qui est écrit.

Reply

Marsh Posté le 09-02-2004 à 14:09:11    

Ok merci

Reply

Marsh Posté le 09-02-2004 à 14:09:42    

Lasardine a écrit :

pourquoi  
int *a,*b;  
 
est different de  
 
int* a,b;
 
??????


 
Parceque ... :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 09-02-2004 à 14:14:10    

Mr yvele a écrit :


 
il veut dire que pour avoir 2 pointeurs, on ecrit :
 
int *a,*b;
 
et pas
 
int* a,b;


De toute façon pour que cela soit plus simple il suffit d'écrire une décalration par ligne. :D
 

int* a=NULL;
int  b=0;


 
Personnellement je considère que "int*" est un type différent de "int" même si "*a" est un int.
 
Après chacun fait comme il le souhaite mais il faut aussi penser à la lisibilité du code ! :D


Message édité par darkoli le 09-02-2004 à 14:14:39
Reply

Marsh Posté le 09-02-2004 à 14:15:30    

Donc tu met plutot... int* p que int *p
non ????

Reply

Marsh Posté le 09-02-2004 à 14:52:20    

ouais, ça doit etre ça, mais attention, sur mon Amiga 5402 ça marche pas des fois....je suis obligé me mettre int *  p, avec deux espaces derriere l'étoile........


---------------
Ride or die .......ouais mais y a des limites...et n'oubliez pas : VIVE LA PROG en C !!!!!!!!!
Reply

Marsh Posté le 09-02-2004 à 15:04:13    

ah bon, ça c bizarre..ça te met koi comme message ?

Reply

Marsh Posté le 09-02-2004 à 15:04:52    

Lasardine a écrit :

ah bon, ça c bizarre..ça te met koi comme message ?
 


 
fais gaffe, t'as le detecteur a ironie qui est cassé

Reply

Marsh Posté le 09-02-2004 à 15:16:48    

vive le 2eme degres quoi  :D


---------------
yvele n'est plus.
Reply

Marsh Posté le 09-02-2004 à 15:24:59    

ba, en fait ça plante à la compilation, ça me met : warning line 105, fonction is not a called lech ftp wind bug 300/...df...1000...........je comprend pas !!!


---------------
Ride or die .......ouais mais y a des limites...et n'oubliez pas : VIVE LA PROG en C !!!!!!!!!
Reply

Marsh Posté le 09-02-2004 à 18:00:27    

mouais...........personne veut me croire !!!!!!

Reply

Marsh Posté le 09-02-2004 à 18:01:45    

qu'est ce qu'on rigole

Reply

Marsh Posté le 09-02-2004 à 19:20:13    

lol !!!!! [:zik_man]


---------------
Ride or die disait le prophete du freeride.....et il avait bien raison !
Reply

Marsh Posté le 09-02-2004 à 19:24:19    

alors on encule les mouches? [:kadreg]

Reply

Marsh Posté le 09-02-2004 à 20:41:16    

drasche a écrit :

int* p;
 
le pointeur est une notion intégrée au type: tu manipules un pointeur d'integer, pas juste un integer, pas juste un pointeur.

Je plussoie vigoureusement. Ceux qui utilisent autre chose méritent le bûcher.

Reply

Marsh Posté le 10-02-2004 à 04:38:41    

C'est pas vraiment de l'enculage de mouche : il y a de bonnes raisons qui font que certaines notations sont à éviter.
 
La plus mauvaise notation est sans doute « int* p » (hein drasche :D). Parce que justement le pointeur n'est pas vraiment une notion intégrée au type. Si tu écrit quelque chose du genre :

Code :
  1. int* i, j;

ça te donnes clairement l'impression que i et j sont des pointeurs. Mais bien sûr seul i est un pointeur, et j est un int. Donc pour faire clair il « faut » que l'étoile soit plus près de la variable que du type. Ou en tout cas pas plus près du type que de la variable.
 
Bref pour moi la notation la plus « correcte » est aussi la plus utilisée :

Code :
  1. int *i;

Reply

Marsh Posté le 10-02-2004 à 06:07:00    

en vrai on s'en fiche.
Je ne réponds meme pas au sondage...
 
LeGreg

Reply

Marsh Posté le 10-02-2004 à 06:20:11    

Non on ne s'en fiche pas : en lisant les commentaires plus haut tu te rendra compte que la pluspart de ceux qui pronnent le « int* i » n'avaient en fait pas conscience du problème de priorité. Cette notation est trompeuse et donc dangereuse. C'est comme si tu écrivais « 1+2 * 3 ». Mais en pire car le « piège » est moins connu.

Reply

Marsh Posté le 10-02-2004 à 07:24:03    

tu confonds deux choses:
- la priorité est certes importante. On peut en discuter cinq minutes après on passe à des choses plus intéressantes.
- la façon dont on écrit la déclaration ne l'est pas.
 
sinon il aurait aussi fallu proposer:

int //\\ tni
*  //  \\  *
p //    \\ q
;//      \\;


 
ce qui est vachement plus créatif.  
 
A+
LeGreg


Message édité par LeGreg le 10-02-2004 à 07:24:50
Reply

Marsh Posté le 10-02-2004 à 07:27:22    

LeGreg a écrit :


- la façon dont on écrit la déclaration ne l'est pas.


 
Tiens, un étudiant qui n'a jamais bossé en entreprise avec des coding styles imposés pour unifier la présentation du code et en faciliter la relecture.
 
http://geosoft.no/style.html


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 10-02-2004 à 07:45:08    

kadreg a écrit :


Tiens, un étudiant qui n'a jamais bossé en entreprise avec des coding styles imposés pour unifier la présentation du code et en faciliter la relecture.
 
http://geosoft.no/style.html


 
Tu sais Bush a sorti une loi qui dit en gros que chaque matin les petits écoliers américains doivent faire une prière au drapeau.
 
..Le rapport ?
 
- je ne suis plus étudiant (1). Encore heureux sinon je devrais probablement faire la prière au drapeau tous les matins,
- l'existence de la loi ne justifie pas le bien fondé de la loi et encore moins son universalisme (2). Elle s'applique en fonction du contexte. Tu aurais probablement déjà implosé avec toutes les lois contradictoires qui s'appliquent à toi. Cette nuance est ce qui différencie les fanatiques des gens bien.
 
Je ne sais pas pour toi mais j'ai pu bosser dans au moins quatre entreprises différentes (je ne compte pas les stages non rémunérés) et à chaque fois j'ai appliqué les règles locales quant à l'écriture du code. C'est cette expérience-là qui me permet aujourd'hui de dire que la position de l'* ou de la , je m'en fiche. Note que je mets les accents sur les mots français et que je n'en mets pas sur les mots anglais.  
 
LeGreg

Reply

Marsh Posté le 10-02-2004 à 07:50:23    

LeGreg a écrit :


Je ne sais pas pour toi mais j'ai pu bosser dans au moins quatre entreprises différentes (je ne compte pas les stages non rémunérés) et à chaque fois j'ai appliqué les règles locales quant à l'écriture du code. C'est cette expérience-là qui me permet aujourd'hui de dire que la position de l'* ou de la , je m'en fiche.  


 
Etonnant, c'est justement le fait de devoir travailler dans des entreprises à maintenir du code agé d'une dizaine d'année qui m'a justement montré l'intêret d'une convention (et pas loi) d'écriture de code. Avoir le code le plus impersonnel permet une relecture plus simple, puisque on limite les variations et donc les petits "accros" lors de la relecture.
 
Si en plus cette convention prend en compte les caractéristiques du langage pour en éliminer les pièges classques, on est gagnants en maintenabilité.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 10-02-2004 à 07:57:20    

kadreg a écrit :


Si en plus cette convention prend en compte les caractéristiques du langage pour en éliminer les pièges classques, on est gagnants en maintenabilité.


 
Franchement entre les gens qui disent que {
se met à la ligne et ceux qui pensent que ça ne doit jamais etre tout seul.
 
Ceux qui trouvent que le one line instruction doit etre aligné sur la boucle du for ou sur le if et ceux qui trouvent qu'il faut tout encadrer avec des {.
 
Ceux qui considère que mettre trop de parenthèse est le signe d'une ignorance des règles de base du C++ et d'autres une garantie de maintenabilité.
 
Ceux qui commencent leur nom de variable par une majuscule et ceux qui commencent par les initiales du type en minuscule.
 
Ceux qui passent tout par pointeur et ceux qui passent tout par référence.
 
J'ai vraiment du mal à croire que tes fameuses règles soi-disant universelle survivent quand tu passes d'un boulot à un autre.
 
De toute façon, le chef a toujours raison.
 
LeGreg

Reply

Marsh Posté le 10-02-2004 à 08:08:52    

LeGreg a écrit :


J'ai vraiment du mal à croire que tes fameuses règles soi-disant universelle survivent quand tu passes d'un boulot à un autre.


 
En C++, ce n'est effectivement pas le cas, les règles de codages sont généralement locales. Mais ce n'est pas interdit d'être logique.
 
En revanche, en java, a peu près tout le monde applique le "sun coding guide", et c'est quand même plus sympa.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 10-02-2004 à 10:07:34    

en clair, le C ca sux :o


---------------
IVG en france
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed