[Programmation]Apprendre plus sur le langage C
[Programmation]Apprendre plus sur le langage C
Salut à tous, nouveau dans la communauté arch, j'aimerais contribuer plus activement au monde du libre en codant un peu (je suis pas extrêmement doué mais je veux bien essayer). Seulement voila les seuls connaissances que j'ai ce trouve sur le site du zero... J'ai aussi acheter le livre de bjarne stroustrup sur le langage c++ (je vous avou je n'ai pas encore terminer le livre et je comprends pas encore totalement certains concept et je continuerai pas tant que je comprendrais pas)...
Pourriez-vous me donner des sites ou alors des livres où je pourrais apprendre plus profondément le langage C? J'ai deja chercher sur google et les resultats du style developpez.com me semble un peu pauvre :s
Merci d'avance pour vos réponses.
Pourriez-vous me donner des sites ou alors des livres où je pourrais apprendre plus profondément le langage C? J'ai deja chercher sur google et les resultats du style developpez.com me semble un peu pauvre :s
Merci d'avance pour vos réponses.
Remember me when you look at the moon
- benjarobin
- Maître du Kyudo
- Messages : 17222
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [Programmation]Apprendre plus sur le langage C
Quel concept tu ne comprend pas, car le site du zero ou developpez.com donne déjà de bonne base. Je ne sais pas s'il parle de programmation concurrente mais je pense que oui. Donc dit juste ce que tu as du mal a comprendre, j'essayerai dit répondre...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
- Tangrim
- archer de cavalerie
- Messages : 181
- Inscription : mer. 26 sept. 2007, 16:31
- Localisation : dans l'underground
Re: [Programmation]Apprendre plus sur le langage C
Dans le même genre d'idées, vous auriez un livre à conseiller pour se familiariser avec les pointeurs en C ?
J'ai compris le principe, mais quand on commence à attaquer les pointeurs de pointeurs, les argv et compagnie, je lâche un peu.
J'ai compris le principe, mais quand on commence à attaquer les pointeurs de pointeurs, les argv et compagnie, je lâche un peu.
- benjarobin
- Maître du Kyudo
- Messages : 17222
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [Programmation]Apprendre plus sur le langage C
Hum, je pense que tu n'as pas assez bien compris les pointeurs car une fois que l'on a compris ce que c'était, c'est vraiment simple de comprendre ce que c'est un pointeur de pointeur. Car un pointeur, il faut bien le stocker en mémoire (on peut l'assimiler a un long).
Décortiquons déjà un exemple basicMais sinon le site du zéro explique 10 fois mieux que moi pour des choses aussi simple
Décortiquons déjà un exemple basic
Code : Tout sélectionner
char *foo = null;
char **ad_foo = null
char c = 'a';
foo = &a;
ad_foo = &foo;
/*
foo = adresse de c, par exemple foo = 1233 (position mémoire)
ad_foo = adresse de foo, par exemple ad_foo = 5678
*foo = 'a'
&foo = 5678
*ad_foo = 1233
**ad_foo = 'a'
*/
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
- Tony
- Hankyu
- Messages : 26
- Inscription : mer. 25 févr. 2009, 11:40
- Localisation : Vannes (Bretagne)
- Contact :
Re: [Programmation]Apprendre plus sur le langage C
Salut,
Tu as un très bon document dispo sur dvpz.com pour apprendre le C :
http://c.developpez.com/cours/poly-c/
(le cours est dispo en pdf, pour une consultation offline).
Tu as un très bon document dispo sur dvpz.com pour apprendre le C :
http://c.developpez.com/cours/poly-c/
(le cours est dispo en pdf, pour une consultation offline).
Archlinux c'est bon, mangez-en !
Re: [Programmation]Apprendre plus sur le langage C
Sinon, le C, comme tous les autres langages, s'apprend en pratiquant. Vous avez de la chance, vous connaissez des logiciels libres. Prenez-en un simple et lisez son code source. Essayer de recoder des commandes Unix de base peut aussi être un bon exercice. Et quand vous bloquez, n'oubliez pas que les fonctions principales du C sont documentées sous forme de pages de man...
- benjarobin
- Maître du Kyudo
- Messages : 17222
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [Programmation]Apprendre plus sur le langage C
Je ne suis pas tout a fait d'accord, ce n'est pas en lisant du code que l'on apprend, (surtout que des fois certain code sont limite, en C je ne vois pas trop d'horreur, mais alors dans le WEB, des fois il y a quoi se pendre, surtout en SQL...) mais en pratiquant et en apprenant de ses erreurs. Bref se trouver des petits projets, savoir aussi se remettre en question... Ce qui est aussi important, c'est de reprendre son code au bout de 1 ou 2 mois. Généralement on se dit au début quand on débute, mais, c'est moi qui est codée cette horreur ?...
Ce que j'ai appris avec le temps. Vouloir optimiser outre mesure pour gagner 1 nano seconde sur le temps d'exécution ce n'est pas vraiment intéressant surtout qu'après on peut avoir un code on ne peu plus illisible.
Donc ce qui est important et que les débutant on du mal, c'est lisibilité du code et documentation, bien que sur le coup on se dit, mais c'est évident, c'est simple. Reprenez votre code dans 1 an, vous serez surpris des fois
Ce que j'ai appris avec le temps. Vouloir optimiser outre mesure pour gagner 1 nano seconde sur le temps d'exécution ce n'est pas vraiment intéressant surtout qu'après on peut avoir un code on ne peu plus illisible.
Donc ce qui est important et que les débutant on du mal, c'est lisibilité du code et documentation, bien que sur le coup on se dit, mais c'est évident, c'est simple. Reprenez votre code dans 1 an, vous serez surpris des fois
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [Programmation]Apprendre plus sur le langage C
si on le comprendbenjarobin a écrit :Reprenez votre code dans 1 an, vous serez surpris des fois
Re: [Programmation]Apprendre plus sur le langage C
Ça m'est déjà arrivé de ne pas comprendre mon code le lendemain. J'avoue, j'avais bu avant de l'écrire
Pour la qualité du code qu'on peut trouver sur le net je suis d'accord, il faut y faire attention. Je ne conseillais ça que pour ceux qui, comme Kusa, ne trouvent plus leur bonheur dans les cours et les tutoriels trouvables sur le net. Il faut de toute façon être capable de lire du code et de le comprendre avant d'envisager contribuer à un projet. Une bonne source d'exemples simples, propres et qui font des choses utiles est http://suckless.org/
Pour la qualité du code qu'on peut trouver sur le net je suis d'accord, il faut y faire attention. Je ne conseillais ça que pour ceux qui, comme Kusa, ne trouvent plus leur bonheur dans les cours et les tutoriels trouvables sur le net. Il faut de toute façon être capable de lire du code et de le comprendre avant d'envisager contribuer à un projet. Une bonne source d'exemples simples, propres et qui font des choses utiles est http://suckless.org/
- warnaud
- Maître du Kyudo
- Messages : 1640
- Inscription : ven. 11 août 2006, 17:05
- Localisation : Rolle (CH)
Re: [Programmation]Apprendre plus sur le langage C
Et surtout commenter!! ça coute rien et derrière c'est plus facile à maintenir ... (cf ... tellement de projets open-source )
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Re: [Programmation]Apprendre plus sur le langage C
Mouais par contre il faut quand même un petit niveau parce que il n'y a pas une ligne de commentaire mais en effet cela semble de bons exemples.catwell a écrit :Une bonne source d'exemples simples, propres et qui font des choses utiles est http://suckless.org/
Mon wiki
Mon Github
T'es tellement no-life que t'aimerais être un PC pour redémarrer ta vie en mode sans échec !
Mon Github
T'es tellement no-life que t'aimerais être un PC pour redémarrer ta vie en mode sans échec !
Re: [Programmation]Apprendre plus sur le langage C
Merci pour toutes vos réponses, bon pour précision je comprends le C, le seul problème que j'ai je pense que c'est au niveau algorithmique, mettre sous forme de code le problème posé. Du genre j'ai un fichier, je dois le lire en l'analysant bit par bit, si il manque un bit au fichier alors le fichier est corrompu, sinon continuer la lecture (un truc que je viens de penser en écrivant et je suis même pas sur que c'est bon mais bon c juste pour donner un exemple).
Je pense que mon problème vient du fait que je retiens pas tout les mots clés utiles, et j'imagine pas assez le code le plus simple possible (traduire mot à mot l'algo par du code c'est pas cool :s )
Je pense que mon problème vient du fait que je retiens pas tout les mots clés utiles, et j'imagine pas assez le code le plus simple possible (traduire mot à mot l'algo par du code c'est pas cool :s )
Remember me when you look at the moon
- benjarobin
- Maître du Kyudo
- Messages : 17222
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [Programmation]Apprendre plus sur le langage C
Je te rassure (ou pas) l'algorithme c'est le plus dur, après ce n'est que du code. Et pour l'algorithme sur certaine chose a moins d'être plus que doué, c'est très difficile, je pense au parcours de graph. Le plus dur que j'ai réalise, c'est trouver les K plus court chemins dans un graph, ne pas confondre avec ceci qui est assez trivial a comprendre : http://fr.wikipedia.org/wiki/Algorithme_de_Dijkstra. J'ai finit par m'aider d'un algo asiatique (vive google traduction) que je n'ai toujours pas compris entièrement...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [Programmation]Apprendre plus sur le langage C
Oki donc je suis déja rassuré, l'algorithme est vraiment le plus difficile :p. Pour m'entrainer j'ai décider de me faire un petit logiciel de compte pour mes notes, en clair je rentre mes notes, je configure les coefficients et le logiciel me fait ma moyenne automatiquement (oui je sais openoffice le fait deja avec le tableur mais je veux essayer :p). C'est une bonne idée vous pensez?
Remember me when you look at the moon
- benjarobin
- Maître du Kyudo
- Messages : 17222
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [Programmation]Apprendre plus sur le langage C
Moi, je dis que tout exemple est bon tant qu'il te motive assez et que c'est a ta porte, a tes niveaux de connaissance... Je ne sais pas vraiment ton parcours, tu es peut être qu'au collège... Donc je ne sais pas quel notion tu peux avoir, mais en tout cas ton exemple devrai être a ta portée...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [Programmation]Apprendre plus sur le langage C
Je suis en terminal STI Electronique pour info
Remember me when you look at the moon
Re: [Programmation]Apprendre plus sur le langage C
Kusa a écrit :Je suis en terminal STI Electronique pour info
Mon wiki
Mon Github
T'es tellement no-life que t'aimerais être un PC pour redémarrer ta vie en mode sans échec !
Mon Github
T'es tellement no-life que t'aimerais être un PC pour redémarrer ta vie en mode sans échec !
Re: [Programmation]Apprendre plus sur le langage C
??? que me vaut tout cela?
Remember me when you look at the moon
Re: [Programmation]Apprendre plus sur le langage C
Rien contre toi, de simple souvenirs .....Kusa a écrit :??? que me vaut tout cela?
Mon wiki
Mon Github
T'es tellement no-life que t'aimerais être un PC pour redémarrer ta vie en mode sans échec !
Mon Github
T'es tellement no-life que t'aimerais être un PC pour redémarrer ta vie en mode sans échec !