Un doute avec les prototypes

Un doute avec les prototypes - C - Programmation

Marsh Posté le 11-04-2010 à 11:28:54    

Bonsoir a tous  :)  
 
Pouvez vous me dire si ces 3 prototypes sont identiquent?
 

Code :
  1. char* strpbrk(const char* chaine, const char* lettresARechercher);


 

Code :
  1. char *strpbrk(const char *chaine, const char *lettresARechercher);


 

Code :
  1. char strpbrk[](const char chaine[], const char lettresARechercher[]);


 
Car un membre du forum m'avait dit ça :
 

Citation :

Parce que le [] se place après le nom de la variable, alors que le * se place avant le nom de la variable.
 
L'écriture char* var est correcte, l'écriture char *var aussi, mais cette dernière répond probablement mieux à ta question.


Reply

Marsh Posté le 11-04-2010 à 11:28:54   

Reply

Marsh Posté le 12-04-2010 à 09:15:06    

Oui, le 1 et le 2 sont 100% identique, et je pense aussi, avec 1% de doute, que le 2 et 3 sont identiques. La syntaxe recommandée par les auteurs du C, Kerningham et Ritchie, est la 2. Je l'utilise depuis longtemps et je la vois très souvent. Depuis quelques années, la 1 a gagné quelques adeptes, mais sans dépasser la 2 en terme de popularité, jusqu'à présent. La 3 est plus marginale.

Reply

Marsh Posté le 12-04-2010 à 09:38:08    

lassault1 a écrit :

Bonsoir a tous  :)  
 
Pouvez vous me dire si ces 3 prototypes sont identiquent?
 

Code :
  1. char* strpbrk(const char* chaine, const char* lettresARechercher);


 

Code :
  1. char *strpbrk(const char *chaine, const char *lettresARechercher);



 
Oui.  En dehors des chaines et des constantes de caracteres, les espaces n'ont d'importance que s'ils empechent deux symboles d'etre fusionnes.
 

Citation :


Code :
  1. char strpbrk[](const char chaine[], const char lettresARechercher[]);




 
Ne devrait pas compiler.  Si tu vires les [] apres strpbrk et tu les remplaces par un * avant, c'est la meme chose que les deux precedents.
 


---------------
The truth is rarely pure and never simple (Oscar Wilde)
Reply

Sujets relatifs:

Leave a Replay

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