Question syntaxe à la con ... - C - Programmation
Marsh Posté le 03-05-2008 à 19:19:53
il a raison
enfin, gcc 4.x a raison.
Marsh Posté le 03-05-2008 à 19:39:06
ReplyMarsh Posté le 03-05-2008 à 19:40:09
Ca marche aussi
Reste le "return" qui me stresse
Je débute en C hein, mais bon, j'ai quelques autres notions
Ceci dit, j'ai rien trouvé sur le "void" dans mes cours que j'ai sous les yeux. C'est quoi très exactement ?
Marsh Posté le 03-05-2008 à 19:41:07
Joel F a écrit : int main(void) |
Ca marche aussi
Et pour le return ?
Marsh Posté le 03-05-2008 à 19:41:07
void = absence de type
le return est tout à fait normal quoi. Ton main renvoie un int, donc tu return une valeur
Marsh Posté le 03-05-2008 à 19:42:14
Joel F a écrit : void = absence de type |
Woké, c'est logique quelque part, mais tellement peu intuitif
Marsh Posté le 03-05-2008 à 19:43:32
Line Location main.c:3: warning: return type of 'main' is not 'int'
Marsh Posté le 03-05-2008 à 19:47:00
Leonidas Ier a écrit :
|
Il n'y pas que dans le main que tu retournes des résultats. mettons que tu aies une fonction qui prennes un entier et te retourne le caractère ASCII adapté, la valeur de retour sera un caractère.
char intToAscii (int num){
char resultat
bla bla
return resultat }
EDIT: Ok, bon bah t'es fixée
Marsh Posté le 03-05-2008 à 23:08:19
sinon int argc char*argv[] correspond en fait au nombre d'arguments et la valeur des arguments lorsque tu lances ton programme en ligne de commande :
$run PROGRAM arg1 arg2 ...
argc va renvoyer le nombre d'arguments
et argv[0] renvoie 'PROGRAM', argv[1] renvoie 'arg1' etc...
edit c'est comme les #?, #1, etc en programmation shell sous unix.
Marsh Posté le 03-05-2008 à 23:12:21
ReplyMarsh Posté le 03-05-2008 à 23:54:30
dans le même esprit que pour les arguments, le return (EXIT_SUCCESS, EXIT_FAILURE) permet d'avoir un code de retour au niveau de l'environnement d'exécution lorsque le programme est terminé
Marsh Posté le 04-05-2008 à 11:32:48
c'est du C et non du C++, le topic.
Code :
|
ce code n'est pas faux, mais il n'aurait marché qu'avec un vieux vieux compilo, car il fait appel a diverses conventions plus trop a la mode (par exemple, la fonction (principale) n'est pas donnée avec un type de retour, donc implicitement, la fonction va retourner un int...), car fortement casse gueule. Il y a parfois une option sur les compilos modernes pour accepter ce type de code archaique (peut être -traditional sur gcc).
Pour avoir une idée de comment c'était aux tout débuts du C: http://www.lysator.liu.se/c/bwk-tutor.html (même pas besoin de #include <stdio.h> a l'époque)
A+,
Marsh Posté le 04-05-2008 à 11:51:12
ReplyMarsh Posté le 04-05-2008 à 12:16:03
Si on veut être complet sur les arguments d'un main en C:
Code :
|
A+,
Marsh Posté le 04-05-2008 à 14:24:47
gilou a écrit : Si on veut être complet sur les arguments d'un main en C:
|
Nope, celle-ci n'existe que sous certaines implémentations.
J'suis en train de me demander si elle est pas POSIX néanmoins, mais sûr qu'elle est pas ISO en tout cas.
Marsh Posté le 04-05-2008 à 15:07:54
Joel F a écrit : meme pas sur que les g++ récents acceptent void main() |
C'est normal : http://www.research.att.com/~bs/bs_faq2.html#void-main
En C permettre une liste de paramètres vides est une feature obsolète (et ça risque de créer des surprises parce que la sémantique change suivant qu'on est à la déclaration ou à la définition de la fonction).
Elmoricq a écrit : |
Ils en parlent pour dire que c'est courant mais pas portable :
Citation : J.5Common extensions |
Marsh Posté le 04-05-2008 à 17:40:23
Elmoricq a écrit : |
Elle est ANSI au moins.
A+,
Marsh Posté le 04-05-2008 à 18:22:08
Je me permets de revenir ici pour une autre question à la con
Quel est l'objectif du langage C ?
Est-ce que c'est en partie un langage de "présentation" (comme l'HTML) ou pas du tout ?
Marsh Posté le 04-05-2008 à 18:23:20
ReplyMarsh Posté le 04-05-2008 à 18:28:03
divers API de gestion d'affichage : ncurse, gtk, etc ...
toi tu as fait du PHP pendant 3h non ?
Marsh Posté le 04-05-2008 à 18:29:41
ReplyMarsh Posté le 04-05-2008 à 19:10:19
bah, le C n'a rien avoir avec :E J'adore comment les "programmeurs web" pensent débarquer en C ou C++ ...
la "présentation" n'a pas de sens en soi. Donc en général tu utilises des API dépendantes du systeme. La plupart du temps les apps C sont en ligne de commande.
Marsh Posté le 04-05-2008 à 19:12:53
Leonidas Ier a écrit : Je me permets de revenir ici pour une autre question à la con |
Non, c'est un langage "d'application" (on peut écrire un browser HTML en C par exemple) entre autres.
A+,.
Marsh Posté le 04-05-2008 à 19:12:55
Moralité, le C c'est trop de la maÿrdasse C'est de l'algo pur et simple, dingue
Le C++ donne quoi ensuite ?
Marsh Posté le 04-05-2008 à 19:13:16
gilou a écrit : Non, c'est un langage "d'application" (on peut écrire un browser HTML en C par exemple) entre autres. |
Marsh Posté le 04-05-2008 à 19:17:00
Leonidas Ier a écrit : Moralité, le C c'est trop de la maÿrdasse C'est de l'algo pur et simple, dingue |
Le C ca sert a faire plein de choses, car c'est tres permissif (et donc casse gueule a utiliser si on n'a pas les bonnes bases, car ca permet tres facilement de faire des conneries, si on n'est pas relativement méticuleux). Le C++, c'est la même chose, mais revu et corrigé par tous ceux qui se sont cassé la gueule en C au moins une bonne fois violemment, et qui ne veulent plus que ca recommence. C'est plein de gardes fous qui aident ton programme a tenir debout de maniere solide.
A+,
Marsh Posté le 04-05-2008 à 19:18:34
Donc c'est logique de commencer par le C pour arriver au C++, rassure-moi ?
Ou alors on peut commencer directos par le C++ ?
Marsh Posté le 04-05-2008 à 19:20:56
Il est impératif de ne surtout pas commencer par le C a mon avis.
Tu apprends le C++ dans le Koenig-Moo qui donne les bonnes bases, puis tu lis le Stroustrup.
A+,
Marsh Posté le 04-05-2008 à 19:41:13
Leonidas Ier a écrit : Moralité, le C c'est trop de la maÿrdasse C'est de l'algo pur et simple, dingue |
moralité : tu dis du caca et tu sais aps de quoi tu parles
c'est comme cette merde de PHP, on peut même pas faire de scientific computing avec
et jamais, oh grand jamais commencer par le C pour passer au C++ fichtre !
Marsh Posté le 04-05-2008 à 20:34:39
ReplyMarsh Posté le 04-05-2008 à 20:37:27
c'est une blague
la quasi totalité des applications de banques des années 80 à 95, l'informatique embarquée, le calcul scientifique, les jeux vidéos, les moteurs de SGBD ...
Marsh Posté le 03-05-2008 à 19:09:07
Salut à tous ,
Une petite question concernant la syntaxe d'un fichier source en C.
Je viens d'installer l'IDE XCode sous Leopard (Mac), et il me fait chier avec des warnings partout quand je lui écrit :
Pour lui, seule cette syntaxe est correcte :
Vous en pensez quoi ?
Ca me parait bien compliqué pour un Hello World
Message édité par Leonidas Ier le 03-05-2008 à 19:09:45
---------------
Nespresso, what else ?