Cette vidéo pour voir comment créer des structures, des énumérations et des unions. C'est aussi l'occasion d'apprendre à créer vos propres types de variables :).
Salut Jason, je suis en première année d'IUT info, seulement nous apprenons l'Ada, un language assez peu utilisé. Connaîtrais tu une plateforme d'apprentissage car mon prof est aussi doué que les éleves ?
merci beaucoup pour la leçon mais comment je vais faire quand l'utilisateur veut me donner des information par exemple : j'ai plusieurs étudiants et chacun doit me donner(nom ,prenom,matricule, date et lieu de naissance adresse numero telephone et email)? et merci
Je vous nomme tuteur de C numéro 1 de RUclips! 🏆 Explications claires et j'arrive à me concentrer sur votre voix a la fois posée, rapide et dynamique, ce qui est d'habitude un defi pour moi. Merci
Je t'en prie, bonne continuation pour la suite, et n'hésite pas en cas de besoin 🙂 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Je suis debutant en programmation et j'ai commencé à suivre votre formation depuis la 1ère vidéo.C'est vrai que je trouve un peu des difficultés à comprendre certaines parties mais je n'abandonnerai pas et merci pour votre explication c'est trés magnifique mon prof 😉
Jason Champagne tu es quelqu'un, je vois l'heure à laquelle tu fais tes contenus dans tes videos, quel charbonneur. J'aime ça. En plus les petites touches d'humour en vif, je trouve ça incroyable. Le type est INFATIGABLE. je tire mon chapeau, "Monsieur Champagne" Le type est L E G E N D A I R E.
vraiment vos tuto sont super mon cher et infiniment pour tout ce vous faîtes pour nous car grâce à et openclassroom commence à s'en sortir bien en informatique merci cordialement
Très bonne Vidéo, très bien expliquée , merci beaucoup... Par contre si la vidéo ne t'a pas plu, va en chercher une autre , pourquoi mettre un dislike? sachant qu'il faut de la bonne volonté, du temps et de l’énergie pour réaliser des vidéos d'une telle qualité.
Ce n'est pas grave si des gens mettent des dislikes, ça ne change en rien le travail que je fais ni l'investissement que j'y mets 👍 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Salut, Pourrais-tu expliquer la différence entre l'application d'une classe et celle d'une structure ... je viens de découvrir ta chaîne et tes explications sont vraiment claires!
Salut, en C il n'y a pas de classes donc la question ne se pose pas ;) ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Salut! La vidéo sur la structure et les énumérations m'a vraiment plus. J'aimerais savoir si c'est possible de choisir une valeur aléatoire dans une structure. Merci!
Tu es bien parti :) ! +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8/ |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
@@formation-video Donc on ne peut pas mettre de fonction dans une struct ? il y a une alternative pour avoir un type qui est composée de variables et de fonctions ? l'equivalent d'une class
Non, il faudra à ce moment passer sur un langage qui le permet PS : en réalité, en C, on peut employer des pointeurs de fonctions...mais très mauvaise idée
Coucou, il n'y a pas de question stupide :). Alors une fonction permet de rassembler un ensemble d'instructions (qui pourraient être répétitives) pour faire une seule chose. Par exemple, pour une imprimante, tu aurais une fonction pour imprimer, une fonction pour vérifier la quantité d'encre, une fonction pour vérifier la présence de papier, etc. Les structures, quant à elle, permettent de créer tes propres types de données. En C, tu peux créer des variables stockant des caractères, des nombres, mais comment ferais-tu pour stocker....une Voiture ? Et bien, avec une structure, comme cet exemple : pastebin.com/37YwkH1p Bon courage, j'espère que mes explications étaient claires :)
Coucou Mayssa, je n'en ai pas encore parlé mais j'ai prévu un tutoriel pour cela (qui sera donc dans la playlist "C - tutoriels", et pas dans le cours).
Video nickel encore une fois. Une question, peut-on mettre un structure dans une autre structure afin de l'utiliser comme dans l'exemple ci-dessous? Exemple: je crée une structure étudiant (char [] nom, char [] prénom, ennum section, ennum année, structure Branche) ==> dans cette structure Branche, (Math, informatique, Histoire, ...) cette structure Branche doit me permettre de calculer le total, la moyenne, afficher les étudiants en échec ou pas, classer les étudiants par ordre de résultats.
Salut! Lorsque tu déclares plusieurs fonction structure dans ton programme en c et que tu veux maintenant permettre l'ajout ou la suppression d'une donnée d'une des fonctions comment procède t'on?
Encore un excellent cours mais je voulais te demander quelque chose. Comment as-tu reglé les couleurs de ton sublime text ? Merci beaucoup encore une fois !
Bonjour Jason, tout d'abord j'aimerais te remercier pour tout ce que tu fais depuis c'est vraiment sympa, j'ai debute en suivant tes videos aussi donc j'aimerais te demander a propos de celle ci s'il est possible d'utiliser le nom du boleen comme tu l'as fait pour le retour d'une fonction par exemple une fonction qui doit respecter des condition et bon si les conditions soont rspectees au lieu de retourner 1 on peut faire return vrai en fesant l'enum plus haut?
Vidéo intéressante et complémentaire (voir un peu plus complète) au tutoriel d'OpenClassRoom. J'avoue ne pas m'être intéressé aux unions ; j'attends de voir si ce sujet sera abordé dans la suite des cours d'OCR.
Bonne continuation ;) +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
A 31'54" Dommage Jason que tu n'ai pas fait un printf de nb1.entier pour mettre en evidence le fait qu'assigner 3.14 a nb.decimal detruisait nb1.entier. Et comme d'habitude felicitation pour ton travail d'une limpidite exemplaire ! Pour les curieux maladifs les unions sont interessantes pour inspecter individuellement chaque byte d'une variable plus grosse. Je m'explique si dans une union on precede un int ( 4 bytes ) d'un tableau de 4 char on peut en accedant individuelement a chaque char acceder en lecture a chaque byte du int et voir comment il est fichu en l'affichant en Hex c'est tres educatif. Surtout avec les flottant mais la bonjour la prise de tete. Je suis literalement drogue a cette chaine, j'arrive plus en m'en defaire. Merci pour ton travail et bonne continuation !!
Merci à toi et bonne continuation Samuel 👋 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Salut Jason, j'espère que vous êtes bien portant ? En fait j'ai une petite nuance sur la notion de structure et pointeur, j'ai vu la vidéo sur les piles au niveau de la définition de la pile j'ai pas bien cerné cette partie vue que vous avez fait pointer la structure sur l'élément suivant et en plus vous avez défini la structure comme structure ListeElement et *Liste Struct ListeElement { Int value; Struct ListeElement *next; } ListeElement, *Liste; En gros j'ai pas compris cette définition si vous pouviez m'étailler cette définition ça sera super... Ou du moins si tu as une série d'exercices sur la notion de structure afin de mieux comprendre cette partie ça me va En tout cas merci bien pour ce gros travail que tu fais pour nous
Bonjour, en gros, la structure de Pile que je définis possède un élément entier (int) et éventuellement (s'il n'est pas nul), une autre structure de Pile (le *next). Ensuite, l'écriture de StackElement ou *Stack permet d'utiliser l'une ou l'autre des syntaxes. La première où le pointeur sera visible sur la variable, la seconde où il est masqué. J'ai volontairement défini cette structure de Pile ainsi pour montrer que les deux sont possibles. +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Salut Jason, un sacré morceau les structures , je comprends pas vraiment comment ça marche en mémoire, les variables dans la structure ne sont pas initialisé ? ça ne pose pas de problème ? les variables dans la structure sont des pointeurs ? car quand je met des valeurs dans une variable situé dans la structure et que je l'affiche dans mon main avec un cout j'ai bien cette valeur et pourtant j'ai pas crée de pointeur . ou alors c'est le fait d'avoir déclaré ma structure dans le main qui me donne accès à tout les champs même si j'initialise pas dans mon main j'aurais par défaut la valeur qui est dans la structure.
Quand tu définis ta structure, rien n'est créé en mémoire. C'est au moment où tu vas en déclarer (et éventuellement initialiser une) qu'elle va être allouée en mémoire. Et les variables dans la structure sont des membres de celle-ci. Ces variables peuvent être primitives (int, float, ..), d'autres structures, des énumérations ou encore des pointeurs. Un exemple pour voir : pastebin.com/V6gDv30J +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Bonne soirée :) +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Bonjour je voulais savoir quel lettre après le % il fallait utiliser si on veut afficher un Booléen par exemple. La notion d'union est encore un peu floue mais ça va arriver. Merci pour ces vidéos de type Qualitative !
Bonjour, si on parle bien du type bool ajouté au C à partir de la norme C99, il n'a pas de spécificateur et tu pourras l'afficher sous forme numérique avec le classique %d (sinon utiliser un ternaire si tu souhaites afficher "true" ou "false"
De rien 😊 +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Salut Jason. Je me suis concentré sur cette histoire d'union. Est-ce qu'on peut imaginer implémenter une fonction en c qui reproduit l'effet du mot clé auto du c++ pour que le type soit optimisé à l'aide d'une union ? Même si ça n'en est, à priori, pas l'usage 🤔
Le mieux est de revoir ce qui a été expliqué dans le cours sur les unions, puis de les mettre en pratique en testant de son côté. C'est le plus recommandé pour comprendre son fonctionnement 😉 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Il y aura aussi du C#, du C++, du langage Ruby, Javascript. Mais aussi d'autres domaines que l'informatique : cours de piano, cours de dessin, cours de montage audio/vidéo, cours de japonais, etc.
bonjour premierement merci beaucoup pour vos videos cela m'aide enormement ! voila j'ai juste une petite question concernant les structure et plus particulierement les pointeurs et les strings! j'ai cru comprendre qu'une string etait forcement un pointeur sur le premiere char de la string et J'ai bien compris la difference entre lorsque toute la struct et un pointeur comme dans votre exemple de la fonction "create_player" et lorsque directement un champ de la structure est un pointure . Mais peut on avoir un champ de ma structure qui est un pointeur de string?avec une notation str.un_champ si cela est une string normal et str->un_champ si cest un pointeur? si cela est possible, je ne vois pas trop la difference et la notation qui diffèrerait entre les 2 cas ! desolé si ce n'est pas claire ! merci
Bonjour, c'est plus précis que ça encore : 1. Une chaîne de caractère est un tableau de caractères terminé par le caractère de fin de chaîne '\0' 2. Quand on utilise l'identifiant d'une chaîne de caractères (nom de la variable), il s'agit d'un pointeur vers le premier caractère de la chaîne (ou dit autrement, un pointeur vers le début de la suite d'octets) Si tu crées un pointeur vers une structure, qui elle-même contient un champ qui est une chaîne de caractères, on retrouvera alors cette notation : pastebin.com/wPQebsAv
Bonjour : - Une énumération permet de définir un ensemble de valeurs entières, et cela améliore (comme tu as pu le remarquer) la lecture du code (on peut par exemple définir pour une date les jours de la semaine avec leur nom, plutôt qu'avec des valeurs numériques). - Une constante est une donnée qui, une fois initialisée, ne pourra pas changer de valeur au cours de l'exécution du programme. Cela est utile pour l'aspect sécurité du code. - Une macro #define concerne le préprocesseur (un traitement qui se déroule avant même la compilation). Ici, il ne s'agit "que d'un" remplacement de valeurs par une autre (exemple, avec #define MAX 15, tout terme "MAX" trouvé dans le code sera remplacé par la valeur numérique 15). On utilise plus rarement ces dernières car il est facile d'inclure des erreurs dans des instructions préprocesseur.
@@formation-video merci pour ces précision, j'ai bien saisie les différences, mais j'ai l'impression que le résultat est le même quelque soit la solution utilisé. Mais il me manque de la pratique, je comprendrais surement la vrais utilité de chacun lorsque je les utiliserai en pratique. Merci.
Oui, cela reviendra souvent : avoir X façons d'obtenir un même résultat (souvent visuel). Mais ce qui compte, c'est ce par quoi cela est fait, et pourquoi cela est fait. Donc, pour te simplifier les choses : si tu veux définir une constante pour ton programme, utilise "const", et si tu veux créer un type qui possède un ensemble de valeurs pour ajouter de la lisibilité à ton code (sans parler de constante ici), utilise une énumération. Pour la macro #define, tu peux sans problème la mettre de côté, le préprocesseur est un cas à part dans la programmation en C 👍
Bonjour Jason merci pour tout ce que vous faites. Pouvez vous nous expliquer le transtypage (casting) mais combiné a des structures car je n'arrive pas à trouver des ressources sur le sujet. Je vois des syntaxe compliqué tel que : Sin.sin_addr = *(in_addr_t)* hostinfo->h_addr Ou bien : Connect(sock, (sockaddr*) &sin, sizeof(sockaddr). Pourquoi pas simplement (in_addr_t) hostinfo->h_addr MERCI
La conversion consiste à dire que l'on convertit l'information spécifiée vers le type indiqué entre les parenthèses. Ici : (in_addr_t) hostinfo->h_addr, on convertir h_addr vers le type in_addr_t Là : (sockaddr*) &sin, on convertit l'adresse de "sin" vers le type sockaddr*
@@formation-video bonjour ,merci pour votre reponse, je sais que si ont met un type de variable entre parenthese veut dire que on transforme la valeur on ce dernier . mais ce que je n'est pas compris est ex: var = *(type*) var ; pourquoi une etoile (qui signifie pointeure) parfois est dans la parenthése et en dehore des parenthése mais avant le type ex: var = *(type*)var ; merci
Dans le cas de *(type*)var, on a la variable "var" qui est convertie en pointeur sur "type", puis le tout est déréférencé avec l'astérisque tout à gauche. Comme quand tu déréférences un pointeur sur entier pour avoir la valeur de la variable pointée, et non son adresse.
De rien o/ +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Bon, comme dab, un grand merci. Pour moi, les structures, ok, c'est vraiment clair. Ce qui serait génial, ce serait de voir une application concrète ou deux (ce serait sympa de coder le déplacement d'un drone en utilisant des structures par exemple). Un peu dans l'idée de ce que tu dis à la fin d'ailleurs. Par contre, l'énumération, c'est franchement flou. Et alors l'union... C'est carrément incompréhensible 🤣 ni pour comment ça marche, ni à quoi ça peut bien servir.
Alors, l'énumération, c'est simplement que tu vas définir un type qui peut avoir pour valeur une des constantes fournies de la liste. Derrière, ce sont simplement des entiers qui sont mémorisés en mémoire (par défaut, le premier élément vaut 0, le second 1, etc.) Pour les unions, cela revient à utiliser le même emplacement mémoire, pour des données différentes. Mais un seul membre à la fois de l'union peut contenir une valeur.
Alors les unions, on ne les retrouve pas dans les autres langages en grande majorité, donc on peut très bien s'en passer, et leur usage est déjà bien plus rare (sauf pour ceux qui ne font que du C et du "vieux" C++) En revanche, les structures et/ou les énumérations servent beaucoup, et pas qu'à "niveau professionnel". Je donne un autre exemple : tu veux garder les données d'un utilisateur (nom, prénom, adresse, âge, ...). En temps normal, tu aurais une variable pour chaque information, mais chaque variable est distincte, isolée. Avec une structure (un agrégat de données), on rassemble tout cela dans un seul type (ex : Personne). Et toutes les données d'une personne sont manipulables avec une seule et même variable. Aussi, les données d'une structure sont enregistrées de manière contigüe en mémoire. Et je ne parle même pas de l'avantage pour faire des sauvegardes (plus simple et plus rapide et moins source d'erreurs de sauvegarder la structure en une fois, plutôt que X variables). Quant aux énumérations, on en a l'usage quand on souhaite avoir un type qui pourra prendre une des valeurs qu'il contient (là où la structure renseigne X données membres). Exemple : pour définir un niveau d'erreur, un jeu de couleurs, un mode de débogage. Mais dans l'absolu, on pourrait coder sans structures et énumérations (dans le sens : nous ne serions pas bloqués à l'écriture d'un code parce que ces deux concepts n'existent pas). Mais il faut reconnaître que les avoir est un gros plus, surtout pour le langage C qui est un langage assez pauvre en fonctionnalités.
@@formation-video Merci pour le temps que tu me consacres. Alors, les Structures, j'avoue ne pas avoir vraiment compris l'intérêt pour l'instant, mais j'ai encore un niveau trop faible pour que ce soit significatif (et puis j'ai tellement de trucs à apprendre en parallèle que c'est parfois... Effrayant on va dire 🤣), mais je suis sûr que sont utilité est réelle. Les énumérations, c'est plus flou, mais j'ai globalement compris le truc. Après, je me doute que des "types" dans ce genre il doit y en avoir des tas. Je viens de l'audiovisuel et pour prendre un exemple que je connais par coeur (photoshop ou after effect), je sais qu'il y a mille chemins pour arriver au même résultat et que c'est souvent plus une histoire de goûts personnels que de réelle efficacité. On a tendance à se replier sur nos zones de confort, quelle que soit l'activité et encore plus quand on débute. Quand on a ENFIN réussi à faire un truc, on a du mal à envisager un autre angle d'approche, je pense que ça fait partie intégrante des faiblesses humaines :) En tout cas c'est vraiment cool d'avoir cette interaction avec toi et je t'en remercie (à nouveau) mille fois. Le meilleur pour toi :)
Oui, les fonctionnalités offertes par un langage donnent davantage de confort pour programmer (ou d'efficacité, selon). Tiens, quand tu aborderas la vidéo sur les fichiers, tu verras que nous manipulerons justement une structure (FILE) pour lire et écrire dedans, l'exemple sera très concret à ce moment-là 👍
Bonjour, je n'utilise aucun IDE, juste l'éditeur Visual Studio Code +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8/ |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
salut, je n'ai pas compris pourquoi à 13:20, à l’intérieur de la fonction create_player il faut mettre *p entre parenthèses ? dans les autres vidéos tu ne mets pas les pointeurs entre parenthèses merci beaucoup !
Bonjour, c'est parce que dans ce cas, on veut que soit déréférencé le pointeur, et pas p.username, donc on utilise des parenthèses pour récupérer la structure d'abord, et ensuite pouvoir accéder à son élément "username". +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Euh...si je devais faire une "préparation" pour chaque compétition qui existe, on ne s'en sortirait pas :). C'est à toi de te renseigner sur les épreuves des années précédentes pour voir les sujets qui y ont été abordés et te former dessus.
Bonjour Est-ce que c'est possible de changer la valeur d'une variable d'énumration? Et est-ce que c'est possible de mettre des types de variables personnalisés dans les unions
Bonsoir, alors une énumération permet de définir une constante qui pourra avoir une certaine valeur, donc ce n'est pas modifiable une fois défini. Pour l'union oui, tu peux avoir des structures ou types personnalisés :).
Salut Jason, peut on créer une structure avec un nombres de variables et des variables créées par l'utilisateur du programme ? C'est à dire pendant le développement créer une structure "elements" mais que toutes les variables contenues dans cette structure puissent être saisies par l'utilisateur du programme. Ou doit on se résoudre à utiliser des variables fixe avec un maximum de 10 variables par exemple pour la structure et utiliser des pointeurs vers un tableau a plusieurs dimensions. Oups je ne sais pas si c'est très clair.
Bonjour, oui cela est possible, ça reviendrait par exemple à manipuler une Liste dans laquelle on peut ajouter différentes valeurs au cours de l'exécution, et la taille de cette Liste s'adapterait alors en fonction de la place qu'on a besoin (allocation dynamique). +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
De rien, bonne journée/soirée ;) +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Salut Jason, pourquoi ne pas directement faire char *username au lieu de char username[256] ? Ça nous éviterait de spécifier directement la taille, et d'éviter d'appeler des fonctions tels que "strcpy" non ?
Si tu fais un "char *username", tu déclares un pointeur vers un char (par exemple un pointeur vers un caractère comme 'A') ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Super vidéo comme d'habitude. Je vais te poser une question pour laquelle je ne trouve pas de réponse concrète avec le cours sur les pointeurs : J'ai du mal à saisir quand il est impératif d'utiliser un pointeur et quand non. J'ai bien compris qu'on ne peut pas modifier la valeur d'une variable par une fonction car elle est seulement copiée. Est il possible d'utiliser systématiquement les pointeurs avec nos fonctions pour éviter de se tromper ? Quand je compile un programme et a un endroit j'aurai du utiliser un pointeur mais je ne l'ai pas fais, quel type d'erreur va apparaitre et va pouvoir me faire comprendre qu'il aurait fallu utiliser un pointeur ? Merci d'avance, j'imagine que ce sont des questions récurrentes mais je pense que les pointeurs c'est une notion pas simple pour tout le monde.
Pour faire au plus simple : tu vas utiliser des pointeurs pour des données personnalisées (tableaux, chaînes de caractères, structures). Pour les autres (int, float, ...), non. En gros : on peut se permettre de copier des nombres, mais on préfèrera le passage par référence sur des données plus complexes (ex : struct Player)
@@formation-video je ne comprends pas ta réponse car si on a une confions qui va manipuler des INT alors on va utiliser des pointeurs sinon ça ne fonctionne pas... désolé si je me répète c’est juste que je n’arrive pas à saisir la notion.
Salut, Au moment de créer la variable "void create_player(Player *p)", à quoi correspond justement le "Player" et le "*p" qui sont entre parenthèses ? Merci !
Bonjour, Player est le type de la variable, une structure qu'on a créé. Et "*p" indique qu'on attend un pointeur vers un Player. Ce qui permettra de modifier l'original, sans faire de copie de ce dernier. +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Bonne journée :) +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Oui bien sûr, l'énumération est un type de données comme un autre (ex : structure), alors tu peux évidemment déclarer un tableau d'un type d'énumération 👍
Tu as un module pour tout ce qui est aléatoire : docs.python.org/fr/3.6/library/random.html Tu peux donc le coupler avec l'utilisation de l'énumération :)
Sur un langage comme C++ ou C#, oui, les structures ou classes sont similaires (avec quelques différences dans leur niveau de visibilité et autres points spécifiques). Ici en C, c'est différent : une structure n'aura que des données membres (variables)
Quelle directive de préprocesseur ? J'ai créé une structure, et on peut l'utiliser directement ensuite, il n'y a pas de directive à employer. +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Bonjour. Je souhaiterais savoir par rapport à un exercice sur openclassroom à propos du jeu du pendu comment écrire en langage C "si telle lettre se trouve dans tel mot"? Merci beaucoup.
Pour avoir 256 places disponibles, mais j'aurais pu mettre un peu moins, tant que le "username" a la place dans le tableau, c'est suffisant. +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
C'est peut etre bête mais je reviens en arriere après avoir vu l'allocation dynamique. Pourquoi dans cette video peut-on créer des structure Player sans allocation dynamique alors que dans la video des piles on doit utiliser malloc à chaque nouvel Element?
Ma réponse serait la suivante: Une initialisation avec des valeurs évite l'allocation (ex: Player p1 = {"toto", 20 }) mais est forcement locale à la function et ne peut etre transmis par pointeur. (donc le programme crée à la volée sur la pile). Une initialisation avec malloc crée ailleurs que sur la pile et n'est donc détruite qu'à la demande!
Alors ce n'est pas tout à fait cela. Si tu fais une structure qui contient des types natifs (int, char, float, ...), le compilateur saura réserver la place nécessaire en mémoire pour chaque membre de la structure. Mais dans le cas de la Pile, comment le compilateur sait quelle taille réserver pour le fameux membre "struct StackElement *next" ? ^-^ Ici, on a un pointeur, mais un pointeur vers quoi (en taille), le compilateur l'ignore. D'où le fait d'allouer dynamiquement dans ce cas, et de ne pas avoir besoin de le faire sur une structure qui n'a pas de pointeurs ;)
'Mais dans le cas de la Pile, comment le compilateur sait quelle taille réserver pour le fameux membre "struct StackElement *next" ? ^-^': Pourtant *next n'est bien qu'un pointeur? La taille de celui-ci c'est pas celui de ses données mais uniquement la taille de son adresse (du type 0xf25b258)?
Et bien justement, quand on ajoute un élément de la Pile, on fait une allocation dynamique. C'est de cette manière que le compilateur demande au système de réserver la place nécessaire
Oui, c'est un oubli mais comme pour une struct ou enum, il faut bien un ";" (point-virgule) après la définition. +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Oui, c'est un "bon" éditeur si c'est la question que tu te posais, et largement suffisant pour programmer ;) ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Salut très bonne vidéo, tu pourrais me donner un ordre dans lequel tu places tes declaration de fonctions, structures et main? Car j'ai constamment des problèmes je ne trouve de solution null part. J'ai pour habitude de faire: PROTO des fonctions, structures, main, declaration des fonctions Qu'en penses tu ? Merci d'avance
Bonjour pour faire les choses proprement, tu apprendras au cours de la formation à : - placer les définitions (structures, énumérations, prototypes de fonctions) dans des fichiers d'entête (.h) - l'implémentation des fonctions dans les fichiers source (.c)
LOL AIME DÉ AIRE xD 🤣 +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Super vidéo, comme d'habitude, sinon j'ai un petit problème au niveau de l'union, quand je souhaite affiché la valeur de nb1.entier ça m'affiche 1078523331 au lieu de seulement 3
@@formation-video union Nombre { int entier; float decimal; }; int main(void) { union Nombre nb1; nb1.entier = 3; nb1.decimal = 3.14; printf("Nombre entier : %d | nombre decimal : %.2f", nb1.entier, nb1.decimal); return 0; }
L'objectif d'une Union est d'utiliser une seule donnée membre à la fois. Ici, comme tu affectes en dernier le flottant, c'est elle qui occupe l'emplacement mémoire. Si tu veux les valeurs respectives : pastebin.com/m372U13Y
Salut Jason, ya un truc que je ne comprends pas, c'est que logiquement lorsque l'on définit un type on peut faire la déclaration suivante : Player p1,p2,p3; Sauf que, si l'on veut rentrer les infos par après genre : p1 = {"Jason", 100, 50}; p2 = ("Naoki", 200, 100}; p3 = ("Chewbaka", 500, 1000, 1000}; ... etc, l'éditeur chouine, Faut systématiquement taper Player devant chaque instruction et j'aimerais savoir pourquoi ? Ensuite, j'ai essayé d'écrire un code concernant un choix de couleurs où je me suis servi de enum et une structure color avec les rgb de chaque couleur, je te file ça dans un pastebin histoire que tu vois le truc. Dans ma logique, vu que enum renvoie des entiers 0,1,2... etc, définir ma couleur du style Color couleur[rouge] = {255, 0, 0}; ne me met pas d'erreur dans l'éditeur de code, et donc lorsque je rappelle la couleur via un printf(" %d, %d, %d", couleur[rouge].r, couleur[rouge].g, couleur[rouge].b}; le compilo refuse en me renvoyant l'erreur Wmissing-braces au niveau de mes définitions de couleur. Donc j'aimerais comprendre pourquoi ça ne fonctionne pas... J'ai collé le code sur pastebin où j'ai choisi d'afficher la couleur vert, voici le lien : pastebin.com/SAm8LRCs
Bonjour, ton code a beaucoup d'erreurs et visiblement, il y a certaines syntaxes que tu n'as pas comprises. - Pour pouvoir déclarer une structure sans indiquer le mot-clé "struct", il faut créer un alias (avec typedef), voici un exemple : pastebin.com/TyfbiZrE - Ensuite, quand tu écris ce genre de syntaxe -> Color couleur[rouge], c'est comme si tu cherchais à déclarer un tableau de "Color" de "rouge" éléments, forcément, ça cloche. Ce genre de solution serait préférable, pas besoin d'énumération : pastebin.com/MHBSfWLg
@@formation-video Merci pour tes réponses ;-) Oui effectivement pour les crochets c'était mal joué lol; Concernant ma structure elle était bien juste puisque j'avais mis le typedef dessus, après que je fasse int r,g,b; ou int r: int g; int b; ça ne change rien puisque l'éditeur comme le compilo l'acceptent. En tout cas ça m'a aidé à comprendre là où se situait mon erreur car en fait j'avais besoin de l'enum parce que dans mon programme j'ai un choix de couleur à faire, j'ai finalement résolu le problème avec un switch en fait et ça marche juste en changeant le choix et c'est ce que je voulais... Cette fois j'y suis, je donne la solution qui fonctionne sur pastebin des fois qu'un autre galère comme moi lol. Bon en tout cas ça ne m'explique pas pourquoi lorsque l'on définit un type avec typedef que l'on puisse pas écrire comme suit : Color red, green, blue; red = {...}; green = {...}; blue = {...}; ça ne me dérange pas d'écrire Color devant chaque nom de couleur, ce qui me semble étrange est que lorsque l'on définit un type de structure celle-ci intègre tous les champs, raison pour laquelle je ne comprends pas pourquoi on ne peut rentrer toutes les valeurs comme décrit ci-dessus alors que par exemple lorsque l'on déclare : int a,b; on peut par la suite définir a=15; b=23... Merci encore et bonne suite ;-) Lien pastebin : pastebin.com/tKD8zPsC
Parce que tu confonds initialisation d'une donnée, et affectation. Quand tu fais ceci : Color c = {255, 0, 0}, c'est une déclaration AVEC initialisation, donc la syntaxe avec les accolades est utilisée. Mais si tu fais : Color c; Puis : c = {}, cela ne fonctionne pas car ici, tu tentes de faire une affection, et tu es obligé d'affecter à un membre de la structure en particulier, donc de faire : pastebin.com/k2Nt6LJ0
@@formation-video Merci Jason pour les explications j'ai saisi. Cette histoire m'a fait réfléchir un bon paquet de temps car je cherchais à rentrer les valeurs dans tous les champs d'une traite plutôt que faire c.red = ..., c.green... etc....Ce qui quelque part serait pratique lorsque l'on a beaucoup de valeurs différentes au sein d'une structure, et cohérent de surcroît, sans nécessairement avoir besoin de passer par une fonction. Peut-être serait-il bien de proposer ceci aux développeurs du langage 🙂 Enfin ce qu'il y a de bien dans tout ça, c'est que le fait de tester différentes solutions m'apprend les subtilités du langage😉. J'ai tellement essayé de combinaisons sur les structures qu'elles ne devraient plus me poser de problème 🤣🤣🤣🤣 Je suis en cours de développement sur mon tout premier "long programme" avec la SDL2 (open source bien entendu), je rencontre beaucoup d’embûches sur mon chemin cependant je prends vraiment plaisir à travailler sur ma création car plus j'y passe de temps et plus coder me semble aisé... Là je vais me pencher sur le problème d'un menu afin que l'utilisateur puisse paramétrer l'application comme il le souhaite et je pensais utiliser à partir d'un bouton configuration -> plusieurs sous-menu -> plusieurs choix de config. Dans ma tête je visualise arbre binaire combiné à de la liste doublement chaînée. Que penses-tu de ce choix ? Qu'a-t-on coutume d'utiliser dans ce genre de situation ? vais aussi rechercher les algo à ce sujet, il doit bien y en avoir 🙂 Dans tous les cas merci, ton aide est vraiment précieuse. Gratitude 🙏
Il n'y a pas de meilleure manière de faire, si ce n'est celle avec laquelle tu es le plus à l'aise, que ce soit une liste chaînée, un tableau de structures, un arbre. Tu dois surtout te poser la question sur l'usage de ton menu : davantage de lecture de données (donc accès) ou davantage de modifications ? Afin de déterminer si tu dois opter pour des structures à accès rapide (par indice) ou demandant le parcours de la structure, etc.
Bonjour Jason, Voilà ! Je souhaite moduler mon code sur plusieurs fichiers c avec leurs h. Ça, c'est bon. J'ai défini des structures qui servent un peu partout. Si je les déclare et définis partout, il me dit "redeclaration...", admettons. Si je ne le fais que dans un fichier, les autres mes disent qu'ils ne connaissent pas alors que le compilateur inclut tout donc elles doivent être visibles partout. Non ? Du coup, je m'en suis tiré en déclarant les structures dans un fichier à part que j'inclus dans chaque fichier source en h entre un #ifndef .... #endif et là ça passe mais je me doute que ce n'est pas la bonne méthode. Y a t il un mot clé pour faire la même chose ou autre ? J'ai vu extern, pragma ... static peut-être 🤔
Bonjour, non c'est exactement ce qu'il faut faire : tu inclus l'entête dans chaque fichier source qui va utiliser ce qui est défini dans cette dernière 👍
@@formation-video C'est bien comme ça que j'ai raisonné, sur le principe d'une en-tête. Au passage, je comprends qu'on peut mettre plusieurs #ifndef #endif dans un même fichier. Merci Jason.
Ce sont deux choses bien différentes en fait +---------------------------------------------------------------------------------------------------------------------------------------------+ |- Jason CHAMPAGNE - jasonchampagne.fr +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Bonjour, il n'y a pas de méthodes en langage C, mais des fonctions. Et non, une structure ne contient que des types de données (variables), et sont ensuite à utiliser dans des fonctions
Bonjour, un pointeur permet de mémoriser l'adresse d'une autre variable, donc si tu n'as que des pointeurs, ça risque d'être compliqué en soit, mais pas impossible, exemple : pastebin.com/G1cykXsp ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ◾ MERCI DE TON SOUTIEN ! 🔻 ◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙 ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA ◾ Site web : jasonchampagne.fr ◾ Discord : discord.me/jasonchampagne ◾ Twitch : www.twitch.tv/jachampagne ◾ RUclips (personnel) : ruclips.net/user/jasonchampagne ◾ Twitter : twitter.com/jachampagne8 ◾ Facebook : facebook.com/jachampagne8 ◾ Instagram : instagram.com/jachampagne8 ◾ Snapchat : www.snapchat.com/add/jachampagne8 ◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Bonjour :). Un #define est une sorte de macro qui va faire le remplacement d'une syntaxe par une autre. Tandis que l'énumération, en ne prenant qu'une place en mémoire (car n'aura qu'une seule valeur), permet de définir des constantes pour des valeurs dans un même thème (énumération de Marque, de Couleur, etc.)
Une classe, c'est de la programmation objet (qui n'existe pas d'ailleurs en C), tandis qu'une structure est un ensemble de données qui peuvent avoir différents types. Ou cela peut également servir à créer un type de variable personnalisé
Monsieur est-ce qu'il y a un cours dans lequel vous parlerez de la mémoire et ce qui se passe lorsque le compilateur réserve une case mémoire pour une variable d'un type quelconque ?? je comprend pas comment le compilateur réserve par exemple 2 octets pour un entier et 4 pour un réel alors que toutes les cases mémoire ont la même taille en octets Merci pour tes efforts ^^
Bien sûr, une structure, c'est un type complexe que l'on peut créer nous-même. Donc, si tu définies une structure de Personnage, tu peux naturellement faire un tableau de Personnages 😉 +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
De rien :) +---------------------------------------------------------------------------------------------------------------------------------------------+ |- COUCOU, TU VEUX : |--- Nous rejoindre sur Discord ? discord.me/jasonchampagne |--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne |--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne |--- Me follow sur Twitter ? twitter.com/jachampagne8 |--- Liker la page Facebook ? facebook.com/jachampagne8 |--- Me follow sur Insta ? instagram.com/jachampagne8 |--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8 +---------------------------------------------------------------------------------------------------------------------------------------------+
Cette vidéo pour voir comment créer des structures, des énumérations et des unions. C'est aussi l'occasion d'apprendre à créer vos propres types de variables :).
Salut Jason, je suis en première année d'IUT info, seulement nous apprenons l'Ada, un language assez peu utilisé. Connaîtrais tu une plateforme d'apprentissage car mon prof est aussi doué que les éleves ?
Bonjour, j'ai fait quelques petites recherches et j'ai pu trouver ce genre de chose : ada.developpez.com
FormationVidéo je veux apprendre
merci beaucoup pour la leçon mais comment je vais faire quand l'utilisateur veut me donner des information par exemple : j'ai plusieurs étudiants et chacun doit me donner(nom ,prenom,matricule, date et lieu de naissance adresse numero telephone et email)? et merci
Donc si j'ai bien compris, une structure c un objet?
5 ans plus tard, cette vidéo sauve encore plein de monde ! merci beaucoup pour ton travail ( avec 5 ans de retard xD ) !
Jamais en retard ne t'en fais pas, et de rien, à bientôt 😉
Je vous nomme tuteur de C numéro 1 de RUclips! 🏆
Explications claires et j'arrive à me concentrer sur votre voix a la fois posée, rapide et dynamique, ce qui est d'habitude un defi pour moi. Merci
Je t'en prie, bonne continuation pour la suite, et n'hésite pas en cas de besoin 🙂
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Je suis debutant en programmation et j'ai commencé à suivre votre formation depuis la 1ère vidéo.C'est vrai que je trouve un peu des difficultés à comprendre certaines parties mais je n'abandonnerai pas et merci pour votre explication c'est trés magnifique mon prof 😉
Si tu bloques sur une vidéo en particulier, n'hésite pas à poser des questions en commentaire 👍
Jason Champagne tu es quelqu'un, je vois l'heure à laquelle tu fais tes contenus dans tes videos, quel charbonneur. J'aime ça. En plus les petites touches d'humour en vif, je trouve ça incroyable. Le type est INFATIGABLE. je tire mon chapeau, "Monsieur Champagne" Le type est L E G E N D A I R E.
Merci de ton retour 🙏
meilleur cours vidéo sur les structures et types, ça m'a beaucoup servi
Très bien pour toi, bon courage sur les vidéos suivantes qui seront utiles également
super série de vidéo, c'est fou comme tu formes les développeurs sur plusieurs génération ! Quel graal !
Merci de ton retour
vraiment vos tuto sont super mon cher et infiniment pour tout ce vous faîtes pour nous car grâce à et openclassroom commence à s'en sortir bien en informatique
merci cordialement
Content de l'entendre, bon courage :) !
vous etes le mailleur!!! Vraiment merci pour toutes ses videos de tres bonne qualite
Merci du soutien ! 👍
T'est un super prof. J'ai presque tout compris au langage c Merci beaucoup !
Super content pour toi :)
Très bonne Vidéo, très bien expliquée , merci beaucoup...
Par contre si la vidéo ne t'a pas plu, va en chercher une autre , pourquoi mettre un dislike? sachant qu'il faut de la bonne volonté, du temps et de l’énergie pour réaliser des vidéos d'une telle qualité.
Ce n'est pas grave si des gens mettent des dislikes, ça ne change en rien le travail que je fais ni l'investissement que j'y mets 👍
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
@Siyamala Amir : Bonjour, tu peux toujours poser tes questions ici et je te répondrai =)
Cet homme a sauvé mon semestre.
Tu t'es surtout sauvé tout seul, car tu as fait l'effort de chercher à progresser et à combler des lacunes 👏
Salut,
Pourrais-tu expliquer la différence entre l'application d'une classe et celle d'une structure ... je viens de découvrir ta chaîne et tes explications sont vraiment claires!
Salut, en C il n'y a pas de classes donc la question ne se pose pas ;)
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Tu contribues à me redonner goût à la programmation merci !!!!
Bonjour, et de rien, j'espère que tu y verras un réel intérêt d'apprendre et/ou ré-apprendre =)
Y'a-t-il une formation pour le langage C++ ? Si non, y'en aura-t-il un jour ?
A part ça, merci pour tout ce que vous faites!
Bonsoir, oui c'est une formation de prévue mais je termine d'abord celle sur le C :)
Merci pour ces videos, elles sont simplement superbes !!
je ne trouve pas les videos relatives aux exercices, merci de m'orienter.
Tout est ici : github.com/jasonchampagne/FormationVideo
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Bien détaillé, Merci beaucoup
👍
Salut! La vidéo sur la structure et les énumérations m'a vraiment plus. J'aimerais savoir si c'est possible de choisir une valeur aléatoire dans une structure. Merci!
Bonjour, comment ça une valeur aléatoire ? Une structure est composée de plusieurs variables
Trop cool yatik Saha yakhouyaaa
MERCIIIII et
très belle présentation JASON.
Tu es bien parti :) !
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8/
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Merci pour les videos ils sont vraiment super . Et est ce qu'il y'aura des videos sur la POO ? Mercii
Bonjour, il n'y a pas de POO en langage C, mais il y en aura en revanche sur la formation au C++ =)
merci pour cette formation, j'ai compris plein de choses grâce à toi !
Je l'espère =)
Est-ce qu'on peut mettre des fonctions dans une struct, comme en C# pour les class ? par exemple Player.TakeDamage(10)
Non, les structures en C sont différentes des structures en C++
@@formation-video Donc on ne peut pas mettre de fonction dans une struct ? il y a une alternative pour avoir un type qui est composée de variables et de fonctions ? l'equivalent d'une class
Non, il faudra à ce moment passer sur un langage qui le permet
PS : en réalité, en C, on peut employer des pointeurs de fonctions...mais très mauvaise idée
@@formation-video pourquoi c est une mauvaise idée ?
Merci Mr Jason pour l'éclaircissement
De rien 😉
Thx dude ! Grâce à tes explications je vais pouvoir réussir des exos dans mes études sup !
Bon courage alors ! 👍
merci pour la vidéo, svp je veux savoir la différence entre les fonctions et les structures même si ma question peut apparaître un peu stupide
Coucou, il n'y a pas de question stupide :).
Alors une fonction permet de rassembler un ensemble d'instructions (qui pourraient être répétitives) pour faire une seule chose. Par exemple, pour une imprimante, tu aurais une fonction pour imprimer, une fonction pour vérifier la quantité d'encre, une fonction pour vérifier la présence de papier, etc.
Les structures, quant à elle, permettent de créer tes propres types de données. En C, tu peux créer des variables stockant des caractères, des nombres, mais comment ferais-tu pour stocker....une Voiture ?
Et bien, avec une structure, comme cet exemple : pastebin.com/37YwkH1p
Bon courage, j'espère que mes explications étaient claires :)
Mrc bcp mr
Bonjour, merci pour le cours des structures, c'est tres interessant! Avec printf, pourrait-on afficher une var d'enumeration ? %...?
Bonjour, évidemment, derrière une énumération, ce ne sont que des valeurs numériques
j'ai un examen de programmation 2 langage c je profite de tes vidéos pour réviser merci beaucoup
Bonnes révisions 😉
SVP est ce que vous pouvez me dire si vous avez parlé de et random dans les viséos précédentes ou pas encore?
Coucou Mayssa, je n'en ai pas encore parlé mais j'ai prévu un tutoriel pour cela (qui sera donc dans la playlist "C - tutoriels", et pas dans le cours).
Video nickel encore une fois.
Une question, peut-on mettre un structure dans une autre structure afin de l'utiliser comme dans l'exemple ci-dessous?
Exemple: je crée une structure étudiant (char [] nom, char [] prénom, ennum section, ennum année, structure Branche) ==> dans cette structure Branche, (Math, informatique, Histoire, ...) cette structure Branche doit me permettre de calculer le total, la moyenne, afficher les étudiants en échec ou pas, classer les étudiants par ordre de résultats.
Oui bien sûr, un structure est un type de variable personnalisé, donc tu peux avoir une structure dans une autre :)
Salut!
Lorsque tu déclares plusieurs fonction structure dans ton programme en c et que tu veux maintenant permettre l'ajout ou la suppression d'une donnée d'une des fonctions comment procède t'on?
Bonjour, c'est-à-dire ?
Encore un excellent cours mais je voulais te demander quelque chose. Comment as-tu reglé les couleurs de ton sublime text ? Merci beaucoup encore une fois !
Bonsoir.
Alors tu dois d'abord installer le Package Control : packagecontrol.io/
Ensuite, tu pourras installer le package "Tomorrow Night".
merci pour tes efforts
👍
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Bonjour Jason, tout d'abord j'aimerais te remercier pour tout ce que tu fais depuis c'est vraiment sympa, j'ai debute en suivant tes videos aussi donc j'aimerais te demander a propos de celle ci s'il est possible d'utiliser le nom du boleen comme tu l'as fait pour le retour d'une fonction par exemple une fonction qui doit respecter des condition et bon si les conditions soont rspectees au lieu de retourner 1 on peut faire return vrai en fesant l'enum plus haut?
Oui, et mieux, utiliser le type booléen natif du langage C : pastebin.com/G7KMAgdY
Ok merci
Vidéo intéressante et complémentaire (voir un peu plus complète) au tutoriel d'OpenClassRoom.
J'avoue ne pas m'être intéressé aux unions ; j'attends de voir si ce sujet sera abordé dans la suite des cours d'OCR.
Bonne continuation ;)
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
A 31'54" Dommage Jason que tu n'ai pas fait un printf de nb1.entier pour mettre en evidence le fait qu'assigner 3.14 a nb.decimal detruisait nb1.entier.
Et comme d'habitude felicitation pour ton travail d'une limpidite exemplaire ! Pour les curieux maladifs les unions sont interessantes pour inspecter individuellement chaque byte d'une variable plus grosse. Je m'explique si dans une union on precede un int ( 4 bytes ) d'un tableau de 4 char on peut en accedant individuelement a chaque char acceder en lecture a chaque byte du int et voir comment il est fichu en l'affichant en Hex c'est tres educatif. Surtout avec les flottant mais la bonjour la prise de tete.
Je suis literalement drogue a cette chaine, j'arrive plus en m'en defaire. Merci pour ton travail et bonne continuation !!
Merci à toi et bonne continuation Samuel 👋
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Salut Jason, j'espère que vous êtes bien portant ?
En fait j'ai une petite nuance sur la notion de structure et pointeur, j'ai vu la vidéo sur les piles au niveau de la définition de la pile j'ai pas bien cerné cette partie vue que vous avez fait pointer la structure sur l'élément suivant et en plus vous avez défini la structure comme structure ListeElement et *Liste
Struct ListeElement
{
Int value;
Struct ListeElement *next;
} ListeElement, *Liste;
En gros j'ai pas compris cette définition si vous pouviez m'étailler cette définition ça sera super... Ou du moins si tu as une série d'exercices sur la notion de structure afin de mieux comprendre cette partie ça me va
En tout cas merci bien pour ce gros travail que tu fais pour nous
Bonjour, en gros, la structure de Pile que je définis possède un élément entier (int) et éventuellement (s'il n'est pas nul), une autre structure de Pile (le *next).
Ensuite, l'écriture de StackElement ou *Stack permet d'utiliser l'une ou l'autre des syntaxes. La première où le pointeur sera visible sur la variable, la seconde où il est masqué. J'ai volontairement défini cette structure de Pile ainsi pour montrer que les deux sont possibles.
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
@@formation-video merci bien je m'en sort
Salut Jason, un sacré morceau les structures , je comprends pas vraiment comment ça marche en mémoire, les variables dans la structure ne sont pas initialisé ? ça ne pose pas de problème ? les variables dans la structure sont des pointeurs ? car quand je met des valeurs dans une variable situé dans la structure et que je l'affiche dans mon main avec un cout j'ai bien cette valeur et pourtant j'ai pas crée de pointeur . ou alors c'est le fait d'avoir déclaré ma structure dans le main qui me donne accès à tout les champs même si j'initialise pas dans mon main j'aurais par défaut la valeur qui est dans la structure.
Quand tu définis ta structure, rien n'est créé en mémoire. C'est au moment où tu vas en déclarer (et éventuellement initialiser une) qu'elle va être allouée en mémoire. Et les variables dans la structure sont des membres de celle-ci. Ces variables peuvent être primitives (int, float, ..), d'autres structures, des énumérations ou encore des pointeurs.
Un exemple pour voir : pastebin.com/V6gDv30J
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
@@formation-video merci Jason.
Bonne soirée :)
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Je bloquais sur un exo et ta vidéo m'a éclaircie les idées j'ai donc pu finir mon devoir à temps.
Parfait alors ! 👍
excellent cours
Content que ça te plaise, à bientôt pour la suite ! :)
merci d'Holberton
Tu es le g
👋
Bonjour je voulais savoir quel lettre après le % il fallait utiliser si on veut afficher un Booléen par exemple.
La notion d'union est encore un peu floue mais ça va arriver.
Merci pour ces vidéos de type Qualitative !
Bonjour, si on parle bien du type bool ajouté au C à partir de la norme C99, il n'a pas de spécificateur et tu pourras l'afficher sous forme numérique avec le classique %d (sinon utiliser un ternaire si tu souhaites afficher "true" ou "false"
@@formation-video Merci. Qu'est-ce qu'un ternaire ?
Ce que j'ai montré dans la vidéo sur les conditions 👍
@@formation-video Ok désolé merci ça fait longtemps que j'ai pas revu les bases !
merci énormément pour ces vidéos big up j'ai pas de mots
👍
salut , très bon travail merci beaucoup , est ce que si possible de faire un tuto sur la manipulation des bits ( masque .....) merci
J'en ferai peut-être un oui :)
Hyper bien expliqué, Merci beaucoup :)
De rien 😊
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Génial ❤
Salut Jason. Je me suis concentré sur cette histoire d'union. Est-ce qu'on peut imaginer implémenter une fonction en c qui reproduit l'effet du mot clé auto du c++ pour que le type soit optimisé à l'aide d'une union ? Même si ça n'en est, à priori, pas l'usage 🤔
Bonjour, pas vraiment non puisque l'union ne permettrait pas de déterminer un type comme l'usage d'auto en C++.
@@formation-video 😵
Salut est-ce qu'il y'aurait une vidéo où tu met en pratique la notion d'union ? J'ai pas encore super bien compris
Le mieux est de revoir ce qui a été expliqué dans le cours sur les unions, puis de les mettre en pratique en testant de son côté. C'est le plus recommandé pour comprendre son fonctionnement 😉
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
👏 bravo tu es le meilleur j'ai besoin d'apprendre le Java y'a til une vidéo comme celle pour ce langage ???
Bonjour et merci à toi :) ! Une formation Java sera commencée plus tard sur la chaîne
👌 ok
👌
Il y aura aussi du C#, du C++, du langage Ruby, Javascript.
Mais aussi d'autres domaines que l'informatique : cours de piano, cours de dessin, cours de montage audio/vidéo, cours de japonais, etc.
OK. merci j fais une école d'ingénierie en informatique plus précisément génie logiciels /programmeur.... donc J'ai vraiment besoin de tes cours😊
bonjour premierement merci beaucoup pour vos videos cela m'aide enormement !
voila j'ai juste une petite question concernant les structure et plus particulierement les pointeurs et les strings!
j'ai cru comprendre qu'une string etait forcement un pointeur sur le premiere char de la string et J'ai bien compris la difference entre lorsque toute la struct et un pointeur comme dans votre exemple de la fonction "create_player" et lorsque directement un champ de la structure est un pointure .
Mais peut on avoir un champ de ma structure qui est un pointeur de string?avec une notation str.un_champ si cela est une string normal et str->un_champ si cest un pointeur? si cela est possible, je ne vois pas trop la difference et la notation qui diffèrerait entre les 2 cas !
desolé si ce n'est pas claire ! merci
Bonjour, c'est plus précis que ça encore :
1. Une chaîne de caractère est un tableau de caractères terminé par le caractère de fin de chaîne '\0'
2. Quand on utilise l'identifiant d'une chaîne de caractères (nom de la variable), il s'agit d'un pointeur vers le premier caractère de la chaîne (ou dit autrement, un pointeur vers le début de la suite d'octets)
Si tu crées un pointeur vers une structure, qui elle-même contient un champ qui est une chaîne de caractères, on retrouvera alors cette notation : pastebin.com/wPQebsAv
Bonjour, très bien tes vidéos ! je ne saisie pas la différence entre : Enumération, CONST, #define. Peut tu expliquer ? quoi utiliser et quand ? Merci
Bonjour :
- Une énumération permet de définir un ensemble de valeurs entières, et cela améliore (comme tu as pu le remarquer) la lecture du code (on peut par exemple définir pour une date les jours de la semaine avec leur nom, plutôt qu'avec des valeurs numériques).
- Une constante est une donnée qui, une fois initialisée, ne pourra pas changer de valeur au cours de l'exécution du programme. Cela est utile pour l'aspect sécurité du code.
- Une macro #define concerne le préprocesseur (un traitement qui se déroule avant même la compilation). Ici, il ne s'agit "que d'un" remplacement de valeurs par une autre (exemple, avec #define MAX 15, tout terme "MAX" trouvé dans le code sera remplacé par la valeur numérique 15). On utilise plus rarement ces dernières car il est facile d'inclure des erreurs dans des instructions préprocesseur.
@@formation-video merci pour ces précision, j'ai bien saisie les différences, mais j'ai l'impression que le résultat est le même quelque soit la solution utilisé. Mais il me manque de la pratique, je comprendrais surement la vrais utilité de chacun lorsque je les utiliserai en pratique. Merci.
Oui, cela reviendra souvent : avoir X façons d'obtenir un même résultat (souvent visuel). Mais ce qui compte, c'est ce par quoi cela est fait, et pourquoi cela est fait.
Donc, pour te simplifier les choses : si tu veux définir une constante pour ton programme, utilise "const", et si tu veux créer un type qui possède un ensemble de valeurs pour ajouter de la lisibilité à ton code (sans parler de constante ici), utilise une énumération.
Pour la macro #define, tu peux sans problème la mettre de côté, le préprocesseur est un cas à part dans la programmation en C 👍
Merci pour la vidéo
De rien, à bientôt 👋
Bonjour Jason merci pour tout ce que vous faites.
Pouvez vous nous expliquer le transtypage (casting) mais combiné a des structures car je n'arrive pas à trouver des ressources sur le sujet.
Je vois des syntaxe compliqué tel que :
Sin.sin_addr = *(in_addr_t)* hostinfo->h_addr
Ou bien :
Connect(sock, (sockaddr*) &sin, sizeof(sockaddr). Pourquoi pas simplement (in_addr_t) hostinfo->h_addr
MERCI
Bonjour, il faudrait montrer un code (utilise pastebin : ruclips.net/video/brvwCwfF0U0/видео.html )
@@formation-video pastebin.com/MrKqJ2vt voici le code
La conversion consiste à dire que l'on convertit l'information spécifiée vers le type indiqué entre les parenthèses.
Ici : (in_addr_t) hostinfo->h_addr, on convertir h_addr vers le type in_addr_t
Là : (sockaddr*) &sin, on convertit l'adresse de "sin" vers le type sockaddr*
@@formation-video bonjour ,merci pour votre reponse, je sais que si ont met un type de variable entre parenthese veut dire que on transforme la valeur on ce dernier .
mais ce que je n'est pas compris est ex:
var = *(type*) var ;
pourquoi une etoile (qui signifie pointeure) parfois est dans la parenthése et en dehore des parenthése mais avant le type ex:
var = *(type*)var ;
merci
Dans le cas de *(type*)var, on a la variable "var" qui est convertie en pointeur sur "type", puis le tout est déréférencé avec l'astérisque tout à gauche. Comme quand tu déréférences un pointeur sur entier pour avoir la valeur de la variable pointée, et non son adresse.
Je m'abonne directe !
You are the best !!! merci beaucoup pour la video
De rien o/
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Bon, comme dab, un grand merci. Pour moi, les structures, ok, c'est vraiment clair. Ce qui serait génial, ce serait de voir une application concrète ou deux (ce serait sympa de coder le déplacement d'un drone en utilisant des structures par exemple). Un peu dans l'idée de ce que tu dis à la fin d'ailleurs. Par contre, l'énumération, c'est franchement flou. Et alors l'union... C'est carrément incompréhensible 🤣 ni pour comment ça marche, ni à quoi ça peut bien servir.
Alors, l'énumération, c'est simplement que tu vas définir un type qui peut avoir pour valeur une des constantes fournies de la liste. Derrière, ce sont simplement des entiers qui sont mémorisés en mémoire (par défaut, le premier élément vaut 0, le second 1, etc.)
Pour les unions, cela revient à utiliser le même emplacement mémoire, pour des données différentes. Mais un seul membre à la fois de l'union peut contenir une valeur.
@@formation-video ok... A mon avis, c'est vraiment réservé aux codeurs pros. Je ne vois pas le moindre intérêt à tout ça pour le moment 🤣
Alors les unions, on ne les retrouve pas dans les autres langages en grande majorité, donc on peut très bien s'en passer, et leur usage est déjà bien plus rare (sauf pour ceux qui ne font que du C et du "vieux" C++)
En revanche, les structures et/ou les énumérations servent beaucoup, et pas qu'à "niveau professionnel". Je donne un autre exemple : tu veux garder les données d'un utilisateur (nom, prénom, adresse, âge, ...). En temps normal, tu aurais une variable pour chaque information, mais chaque variable est distincte, isolée.
Avec une structure (un agrégat de données), on rassemble tout cela dans un seul type (ex : Personne). Et toutes les données d'une personne sont manipulables avec une seule et même variable. Aussi, les données d'une structure sont enregistrées de manière contigüe en mémoire. Et je ne parle même pas de l'avantage pour faire des sauvegardes (plus simple et plus rapide et moins source d'erreurs de sauvegarder la structure en une fois, plutôt que X variables).
Quant aux énumérations, on en a l'usage quand on souhaite avoir un type qui pourra prendre une des valeurs qu'il contient (là où la structure renseigne X données membres). Exemple : pour définir un niveau d'erreur, un jeu de couleurs, un mode de débogage.
Mais dans l'absolu, on pourrait coder sans structures et énumérations (dans le sens : nous ne serions pas bloqués à l'écriture d'un code parce que ces deux concepts n'existent pas). Mais il faut reconnaître que les avoir est un gros plus, surtout pour le langage C qui est un langage assez pauvre en fonctionnalités.
@@formation-video Merci pour le temps que tu me consacres. Alors, les Structures, j'avoue ne pas avoir vraiment compris l'intérêt pour l'instant, mais j'ai encore un niveau trop faible pour que ce soit significatif (et puis j'ai tellement de trucs à apprendre en parallèle que c'est parfois... Effrayant on va dire 🤣), mais je suis sûr que sont utilité est réelle. Les énumérations, c'est plus flou, mais j'ai globalement compris le truc. Après, je me doute que des "types" dans ce genre il doit y en avoir des tas. Je viens de l'audiovisuel et pour prendre un exemple que je connais par coeur (photoshop ou after effect), je sais qu'il y a mille chemins pour arriver au même résultat et que c'est souvent plus une histoire de goûts personnels que de réelle efficacité. On a tendance à se replier sur nos zones de confort, quelle que soit l'activité et encore plus quand on débute. Quand on a ENFIN réussi à faire un truc, on a du mal à envisager un autre angle d'approche, je pense que ça fait partie intégrante des faiblesses humaines :)
En tout cas c'est vraiment cool d'avoir cette interaction avec toi et je t'en remercie (à nouveau) mille fois. Le meilleur pour toi :)
Oui, les fonctionnalités offertes par un langage donnent davantage de confort pour programmer (ou d'efficacité, selon). Tiens, quand tu aborderas la vidéo sur les fichiers, tu verras que nous manipulerons justement une structure (FILE) pour lire et écrire dedans, l'exemple sera très concret à ce moment-là 👍
Merci !!!
c'est cool comme vidéo merci
excellente vidéo vraiment elle est très utile
👍
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
slt quel est l'Ide que vous utilisez et merci pour vos efforts c généreux le dieu vous bénisse
Bonjour, je n'utilise aucun IDE, juste l'éditeur Visual Studio Code
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8/
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
salut, je n'ai pas compris pourquoi à 13:20, à l’intérieur de la fonction create_player il faut mettre *p entre parenthèses ? dans les autres vidéos tu ne mets pas les pointeurs entre parenthèses
merci beaucoup !
Bonjour, c'est parce que dans ce cas, on veut que soit déréférencé le pointeur, et pas p.username, donc on utilise des parenthèses pour récupérer la structure d'abord, et ensuite pouvoir accéder à son élément "username".
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Jason tu peux faire des vidos pour la preparation de l'IEEEXTREME stp ?
Euh...si je devais faire une "préparation" pour chaque compétition qui existe, on ne s'en sortirait pas :).
C'est à toi de te renseigner sur les épreuves des années précédentes pour voir les sujets qui y ont été abordés et te former dessus.
Bonjour
Est-ce que c'est possible de changer la valeur d'une variable d'énumration?
Et est-ce que c'est possible de mettre des types de variables personnalisés dans les unions
Bonsoir, alors une énumération permet de définir une constante qui pourra avoir une certaine valeur, donc ce n'est pas modifiable une fois défini.
Pour l'union oui, tu peux avoir des structures ou types personnalisés :).
FormationVidéo Bonsoir, merci beaucoup pour la réponse, je comprends mieux désormais
De rien, bonne continuation
bravo continu comme ca 🙂😄😃
Merci
Merci beaucoup vous êtes très clair
Merci :)
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
Salut Jason, peut on créer une structure avec un nombres de variables et des variables créées par l'utilisateur du programme ? C'est à dire pendant le développement créer une structure "elements" mais que toutes les variables contenues dans cette structure puissent être saisies par l'utilisateur du programme. Ou doit on se résoudre à utiliser des variables fixe avec un maximum de 10 variables par exemple pour la structure et utiliser des pointeurs vers un tableau a plusieurs dimensions. Oups je ne sais pas si c'est très clair.
Bonjour, oui cela est possible, ça reviendrait par exemple à manipuler une Liste dans laquelle on peut ajouter différentes valeurs au cours de l'exécution, et la taille de cette Liste s'adapterait alors en fonction de la place qu'on a besoin (allocation dynamique).
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
@@formation-video Merciiiii pour ta réponse rapide
De rien, bonne journée/soirée ;)
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Hey Jason ! Tu n'aurais pas oublié le " ; " en fin d'accolade de l'union à la fin ?
Oui, c'est mieux de le mettre 👍
merci beaucoup
De rien
Salut Jason, pourquoi ne pas directement faire char *username au lieu de char username[256] ?
Ça nous éviterait de spécifier directement la taille, et d'éviter d'appeler des fonctions tels que "strcpy" non ?
Si tu fais un "char *username", tu déclares un pointeur vers un char (par exemple un pointeur vers un caractère comme 'A')
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Super vidéo comme d'habitude. Je vais te poser une question pour laquelle je ne trouve pas de réponse concrète avec le cours sur les pointeurs : J'ai du mal à saisir quand il est impératif d'utiliser un pointeur et quand non. J'ai bien compris qu'on ne peut pas modifier la valeur d'une variable par une fonction car elle est seulement copiée. Est il possible d'utiliser systématiquement les pointeurs avec nos fonctions pour éviter de se tromper ? Quand je compile un programme et a un endroit j'aurai du utiliser un pointeur mais je ne l'ai pas fais, quel type d'erreur va apparaitre et va pouvoir me faire comprendre qu'il aurait fallu utiliser un pointeur ? Merci d'avance, j'imagine que ce sont des questions récurrentes mais je pense que les pointeurs c'est une notion pas simple pour tout le monde.
Pour faire au plus simple : tu vas utiliser des pointeurs pour des données personnalisées (tableaux, chaînes de caractères, structures). Pour les autres (int, float, ...), non.
En gros : on peut se permettre de copier des nombres, mais on préfèrera le passage par référence sur des données plus complexes (ex : struct Player)
@@formation-video je ne comprends pas ta réponse car si on a une confions qui va manipuler des INT alors on va utiliser des pointeurs sinon ça ne fonctionne pas... désolé si je me répète c’est juste que je n’arrive pas à saisir la notion.
OK, je te montre avec un petit exemple : pastebin.com/bTr5Q0rc
C’est comme l’objet enfin presque
Pas vraiment non 😉
Salut,
Au moment de créer la variable "void create_player(Player *p)", à quoi correspond justement le "Player" et le "*p" qui sont entre parenthèses ?
Merci !
Ahh le "*p" modifie les valeurs du "p1" mais du coup, à quoi correspond le "Player"?
Bonjour, Player est le type de la variable, une structure qu'on a créé. Et "*p" indique qu'on attend un pointeur vers un Player. Ce qui permettra de modifier l'original, sans faire de copie de ce dernier.
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Merci beaucoup !
Bonne journée :)
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
C'est possible de créer un tableau d'énumérations ? Par exemple quand tu veux choisir aléatoirement une valeur.
Oui bien sûr, l'énumération est un type de données comme un autre (ex : structure), alors tu peux évidemment déclarer un tableau d'un type d'énumération 👍
Désolé j'ai voulu dire ceci:
Est-ce possible de récupérer une valeur aléatoire dans une énumération?
Merci!
Tu as un module pour tout ce qui est aléatoire : docs.python.org/fr/3.6/library/random.html
Tu peux donc le coupler avec l'utilisation de l'énumération :)
Les structures en langage C c'est un peu comme de la POO dans un langage qui permet d'en faire non ?
Merci pour ce contenu !
Sur un langage comme C++ ou C#, oui, les structures ou classes sont similaires (avec quelques différences dans leur niveau de visibilité et autres points spécifiques). Ici en C, c'est différent : une structure n'aura que des données membres (variables)
La petite flèche *->* fait penser au *PhP*
Oui, c'est vrai =)
merci vraiment c'est genial
De rien ;)
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
A 13:29 comment se fait-il que la fonction marche sans que tu ais saisi la directive de préprocesseur?
Quelle directive de préprocesseur ? J'ai créé une structure, et on peut l'utiliser directement ensuite, il n'y a pas de directive à employer.
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Bonjour. Je souhaiterais savoir par rapport à un exercice sur openclassroom à propos du jeu du pendu comment écrire en langage C "si telle lettre se trouve dans tel mot"?
Merci beaucoup.
Coucou, si tu as un soucis avec un exercice d'un site en particulier, il faudra voir directement sur ce site ;)
merci de ta réponse ils m'ont déjà répondu mais ce n'était pas tres clair. merci pour ta réponse.
De rien ;)
Tres bonne video mais svp pourquoi avoir choiside faire un tableau [256]pour username !! j'ai essayé de faire sans mais ca ne marche pas
Pour avoir 256 places disponibles, mais j'aurais pu mettre un peu moins, tant que le "username" a la place dans le tableau, c'est suffisant.
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
@@formation-video but what if we dont know the nombre of players it could be more then what we expected or less ? so ...
C'est peut etre bête mais je reviens en arriere après avoir vu l'allocation dynamique. Pourquoi dans cette video peut-on créer des structure Player sans allocation dynamique alors que dans la video des piles on doit utiliser malloc à chaque nouvel Element?
As-tu compris pourquoi ? J'ai vu que tu as supprimé ton autre commentaire ;)
Ma réponse serait la suivante: Une initialisation avec des valeurs évite l'allocation (ex: Player p1 = {"toto", 20 }) mais est forcement locale à la function et ne peut etre transmis par pointeur. (donc le programme crée à la volée sur la pile). Une initialisation avec malloc crée ailleurs que sur la pile et n'est donc détruite qu'à la demande!
Alors ce n'est pas tout à fait cela.
Si tu fais une structure qui contient des types natifs (int, char, float, ...), le compilateur saura réserver la place nécessaire en mémoire pour chaque membre de la structure.
Mais dans le cas de la Pile, comment le compilateur sait quelle taille réserver pour le fameux membre "struct StackElement *next" ? ^-^
Ici, on a un pointeur, mais un pointeur vers quoi (en taille), le compilateur l'ignore. D'où le fait d'allouer dynamiquement dans ce cas, et de ne pas avoir besoin de le faire sur une structure qui n'a pas de pointeurs ;)
'Mais dans le cas de la Pile, comment le compilateur sait quelle taille réserver pour le fameux membre "struct StackElement *next" ? ^-^': Pourtant *next n'est bien qu'un pointeur? La taille de celui-ci c'est pas celui de ses données mais uniquement la taille de son adresse (du type 0xf25b258)?
Et bien justement, quand on ajoute un élément de la Pile, on fait une allocation dynamique. C'est de cette manière que le compilateur demande au système de réserver la place nécessaire
Bonjour, après un union, y a t'il un }; à la fin? Car tu n'en as pas mit et cela semble logique qu'il y en est. Merci
Oui, c'est un oubli mais comme pour une struct ou enum, il faut bien un ";" (point-virgule) après la définition.
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
salut stp est-ce que xcode est une bonne application pour en faire une professionnelle appli ?
et merci pour les videos
Oui, c'est un "bon" éditeur si c'est la question que tu te posais, et largement suffisant pour programmer ;)
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Salut très bonne vidéo, tu pourrais me donner un ordre dans lequel tu places tes declaration de fonctions, structures et main? Car j'ai constamment des problèmes je ne trouve de solution null part. J'ai pour habitude de faire:
PROTO des fonctions,
structures,
main,
declaration des fonctions
Qu'en penses tu ? Merci d'avance
Bonjour pour faire les choses proprement, tu apprendras au cours de la formation à :
- placer les définitions (structures, énumérations, prototypes de fonctions) dans des fichiers d'entête (.h)
- l'implémentation des fonctions dans les fichiers source (.c)
Bonjour,
Serait-il possible d'avoir de l'aide sur un de mes projets perso en C svp ?
(je sais je suis un gamin)
29:51
LOL AIME DÉ AIRE xD 🤣
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
oui
Super vidéo, comme d'habitude, sinon j'ai un petit problème au niveau de l'union, quand je souhaite affiché la valeur de nb1.entier ça m'affiche 1078523331 au lieu de seulement 3
Quel est ton code ?
@@formation-video
union Nombre
{
int entier;
float decimal;
};
int main(void)
{
union Nombre nb1;
nb1.entier = 3;
nb1.decimal = 3.14;
printf("Nombre entier : %d | nombre decimal : %.2f", nb1.entier, nb1.decimal);
return 0;
}
L'objectif d'une Union est d'utiliser une seule donnée membre à la fois. Ici, comme tu affectes en dernier le flottant, c'est elle qui occupe l'emplacement mémoire. Si tu veux les valeurs respectives : pastebin.com/m372U13Y
@@formation-video Ah d'accord je comprend mieux du coup merci beaucoup !
Salut Jason, ya un truc que je ne comprends pas, c'est que logiquement lorsque l'on définit un type on peut faire la déclaration suivante :
Player p1,p2,p3;
Sauf que, si l'on veut rentrer les infos par après genre :
p1 = {"Jason", 100, 50};
p2 = ("Naoki", 200, 100};
p3 = ("Chewbaka", 500, 1000, 1000};
... etc, l'éditeur chouine, Faut systématiquement taper Player devant chaque instruction et j'aimerais savoir pourquoi ?
Ensuite, j'ai essayé d'écrire un code concernant un choix de couleurs où je me suis servi de enum et une structure color avec les rgb de chaque couleur, je te file ça dans un pastebin histoire que tu vois le truc.
Dans ma logique, vu que enum renvoie des entiers 0,1,2... etc, définir ma couleur du style Color couleur[rouge] = {255, 0, 0}; ne me met pas d'erreur dans l'éditeur de code, et donc lorsque je rappelle la couleur via un printf(" %d, %d, %d", couleur[rouge].r, couleur[rouge].g, couleur[rouge].b}; le compilo refuse en me renvoyant l'erreur Wmissing-braces au niveau de mes définitions de couleur.
Donc j'aimerais comprendre pourquoi ça ne fonctionne pas... J'ai collé le code sur pastebin où j'ai choisi d'afficher la couleur vert, voici le lien :
pastebin.com/SAm8LRCs
Bonjour, ton code a beaucoup d'erreurs et visiblement, il y a certaines syntaxes que tu n'as pas comprises.
- Pour pouvoir déclarer une structure sans indiquer le mot-clé "struct", il faut créer un alias (avec typedef), voici un exemple : pastebin.com/TyfbiZrE
- Ensuite, quand tu écris ce genre de syntaxe -> Color couleur[rouge], c'est comme si tu cherchais à déclarer un tableau de "Color" de "rouge" éléments, forcément, ça cloche.
Ce genre de solution serait préférable, pas besoin d'énumération : pastebin.com/MHBSfWLg
@@formation-video Merci pour tes réponses ;-) Oui effectivement pour les crochets c'était mal joué lol;
Concernant ma structure elle était bien juste puisque j'avais mis le typedef dessus, après que je fasse int r,g,b; ou int r: int g; int b; ça ne change rien puisque l'éditeur comme le compilo l'acceptent.
En tout cas ça m'a aidé à comprendre là où se situait mon erreur car en fait j'avais besoin de l'enum parce que dans mon programme j'ai un choix de couleur à faire, j'ai finalement résolu le problème avec un switch en fait et ça marche juste en changeant le choix et c'est ce que je voulais... Cette fois j'y suis, je donne la solution qui fonctionne sur pastebin des fois qu'un autre galère comme moi lol.
Bon en tout cas ça ne m'explique pas pourquoi lorsque l'on définit un type avec typedef que l'on puisse pas écrire comme suit :
Color red, green, blue;
red = {...};
green = {...};
blue = {...};
ça ne me dérange pas d'écrire Color devant chaque nom de couleur, ce qui me semble étrange est que lorsque l'on définit un type de structure celle-ci intègre tous les champs, raison pour laquelle je ne comprends pas pourquoi on ne peut rentrer toutes les valeurs comme décrit ci-dessus alors que par exemple lorsque l'on déclare : int a,b; on peut par la suite définir a=15; b=23...
Merci encore et bonne suite ;-)
Lien pastebin : pastebin.com/tKD8zPsC
Parce que tu confonds initialisation d'une donnée, et affectation.
Quand tu fais ceci : Color c = {255, 0, 0}, c'est une déclaration AVEC initialisation, donc la syntaxe avec les accolades est utilisée.
Mais si tu fais : Color c;
Puis : c = {}, cela ne fonctionne pas car ici, tu tentes de faire une affection, et tu es obligé d'affecter à un membre de la structure en particulier, donc de faire : pastebin.com/k2Nt6LJ0
@@formation-video Merci Jason pour les explications j'ai saisi. Cette histoire m'a fait réfléchir un bon paquet de temps car je cherchais à rentrer les valeurs dans tous les champs d'une traite plutôt que faire c.red = ..., c.green... etc....Ce qui quelque part serait pratique lorsque l'on a beaucoup de valeurs différentes au sein d'une structure, et cohérent de surcroît, sans nécessairement avoir besoin de passer par une fonction. Peut-être serait-il bien de proposer ceci aux développeurs du langage 🙂
Enfin ce qu'il y a de bien dans tout ça, c'est que le fait de tester différentes solutions m'apprend les subtilités du langage😉.
J'ai tellement essayé de combinaisons sur les structures qu'elles ne devraient plus me poser de problème 🤣🤣🤣🤣
Je suis en cours de développement sur mon tout premier "long programme" avec la SDL2 (open source bien entendu), je rencontre beaucoup d’embûches sur mon chemin cependant je prends vraiment plaisir à travailler sur ma création car plus j'y passe de temps et plus coder me semble aisé...
Là je vais me pencher sur le problème d'un menu afin que l'utilisateur puisse paramétrer l'application comme il le souhaite et je pensais utiliser à partir d'un bouton configuration -> plusieurs sous-menu -> plusieurs choix de config. Dans ma tête je visualise arbre binaire combiné à de la liste doublement chaînée. Que penses-tu de ce choix ? Qu'a-t-on coutume d'utiliser dans ce genre de situation ? vais aussi rechercher les algo à ce sujet, il doit bien y en avoir 🙂
Dans tous les cas merci, ton aide est vraiment précieuse. Gratitude 🙏
Il n'y a pas de meilleure manière de faire, si ce n'est celle avec laquelle tu es le plus à l'aise, que ce soit une liste chaînée, un tableau de structures, un arbre.
Tu dois surtout te poser la question sur l'usage de ton menu : davantage de lecture de données (donc accès) ou davantage de modifications ? Afin de déterminer si tu dois opter pour des structures à accès rapide (par indice) ou demandant le parcours de la structure, etc.
Bonjour Jason,
Voilà ! Je souhaite moduler mon code sur plusieurs fichiers c avec leurs h. Ça, c'est bon. J'ai défini des structures qui servent un peu partout. Si je les déclare et définis partout, il me dit "redeclaration...", admettons. Si je ne le fais que dans un fichier, les autres mes disent qu'ils ne connaissent pas alors que le compilateur inclut tout donc elles doivent être visibles partout. Non ? Du coup, je m'en suis tiré en déclarant les structures dans un fichier à part que j'inclus dans chaque fichier source en h entre un #ifndef .... #endif et là ça passe mais je me doute que ce n'est pas la bonne méthode. Y a t il un mot clé pour faire la même chose ou autre ? J'ai vu extern, pragma ... static peut-être 🤔
Bonjour, non c'est exactement ce qu'il faut faire : tu inclus l'entête dans chaque fichier source qui va utiliser ce qui est défini dans cette dernière 👍
@@formation-video C'est bien comme ça que j'ai raisonné, sur le principe d'une en-tête. Au passage, je comprends qu'on peut mettre plusieurs #ifndef #endif dans un même fichier. Merci Jason.
Est-ce qu'on peut utiliser les unions au lieu des pointeurs génériques ?
Ce sont deux choses bien différentes en fait
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- Jason CHAMPAGNE - jasonchampagne.fr
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
A ce que en peut faire des méthodes dans une structure puis l utilisé dans le main. Merci
Bonjour, il n'y a pas de méthodes en langage C, mais des fonctions.
Et non, une structure ne contient que des types de données (variables), et sont ensuite à utiliser dans des fonctions
FormationVidéo merci
De rien ;)
Pour modifier la chaîne de caractère il faut utiliser quoi scopy ?
strcpy() oui, entre autres
Bonjour, est il possible de ne programmer qu'avec des pointeurs ?
Bonjour, un pointeur permet de mémoriser l'adresse d'une autre variable, donc si tu n'as que des pointeurs, ça risque d'être compliqué en soit, mais pas impossible, exemple : pastebin.com/G1cykXsp
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
◾ MERCI DE TON SOUTIEN ! 🔻
◾ Pas encore abonné(e) ? N'hésite pas à le faire 💙
◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
◾ Site web : jasonchampagne.fr
◾ Discord : discord.me/jasonchampagne
◾ Twitch : www.twitch.tv/jachampagne
◾ RUclips (personnel) : ruclips.net/user/jasonchampagne
◾ Twitter : twitter.com/jachampagne8
◾ Facebook : facebook.com/jachampagne8
◾ Instagram : instagram.com/jachampagne8
◾ Snapchat : www.snapchat.com/add/jachampagne8
◼ ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
génial la vidéo, mais j'ai beaucoup de mal à comprendre l'utilité des énumérations par rapport au #define, car pour moi ils font la meme chose
Bonjour :).
Un #define est une sorte de macro qui va faire le remplacement d'une syntaxe par une autre.
Tandis que l'énumération, en ne prenant qu'une place en mémoire (car n'aura qu'une seule valeur), permet de définir des constantes pour des valeurs dans un même thème (énumération de Marque, de Couleur, etc.)
c''est la grand différence struct et class?
Une classe, c'est de la programmation objet (qui n'existe pas d'ailleurs en C), tandis qu'une structure est un ensemble de données qui peuvent avoir différents types. Ou cela peut également servir à créer un type de variable personnalisé
Où est-ce que je peux trouver la vidéo sur les champs de bits, s'il vous plait ? :)
Il n'y en a pas
Monsieur est-ce qu'il y a un cours dans lequel vous parlerez de la mémoire et ce qui se passe lorsque le compilateur réserve une case mémoire pour une variable d'un type quelconque ?? je comprend pas comment le compilateur réserve par exemple 2 octets pour un entier et 4 pour un réel alors que toutes les cases mémoire ont la même taille en octets
Merci pour tes efforts ^^
Bonjour, admettons que ta case mémoire fasse 1 octet, si on a une donné à stocker sur 4 octets, elle le sera sur les 4 adresses qui se suivent.
Bonjour. Serait-il possible de créer un tableau de structures et d'initialiser chacune des structures du tableau ? Merci
Bien sûr, une structure, c'est un type complexe que l'on peut créer nous-même.
Donc, si tu définies une structure de Personnage, tu peux naturellement faire un tableau de Personnages 😉
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
Merci
De rien :)
+---------------------------------------------------------------------------------------------------------------------------------------------+
|- COUCOU, TU VEUX :
|--- Nous rejoindre sur Discord ? discord.me/jasonchampagne
|--- Me voir en direct sur Twitch ? www.twitch.tv/jachampagne
|--- T'abonner à mon autre chaîne RUclips ? ruclips.net/user/jasonchampagne
|--- Me follow sur Twitter ? twitter.com/jachampagne8
|--- Liker la page Facebook ? facebook.com/jachampagne8
|--- Me follow sur Insta ? instagram.com/jachampagne8
|--- M'ajouter sur Snapchat ? www.snapchat.com/add/jachampagne8
+---------------------------------------------------------------------------------------------------------------------------------------------+
GOD Bless U !!!!!
👍