Bonjour et bienvenue à nouveau.
Nous avons un autre défi pour vous.
Ce défi va être à nouveau sur les structures.
Ça va te familiariser avec des éléments dans une structure qui
contiennent un pointeur.
Il faut donc allouer mémoire pour cet élément.
Cela va aussi vous familiariser avec déclarer une
structure comme pointeur et aussi passer une structure comme pointeur vers une fonction.
Donc principalement des structures et pointeurs dans ce défi.
Vous devez donc écrire un programme c qui crée un pointeur de structure et
le transmet à une fonction.
Créer une structure nommée item avec les membres suivants.
Un nom d'article qui devrait être un pointeur de caractère.
Une quantité, qui doit être un entier.
Un prix doit être un flottant et le montant doit être un flottant.
Le montant stocké dans le la structure sera
essentiellement la quantité multipliée par le prix car ce serait le montant total.
Je veux que vous créez deux fonctions.
Je veux que tu crée une fonction élément lu nommé
qui prend un pointeur de structure de type élément un paramètre doit être un pointeur.
Nous connaissons les avantages des fonctions prendre des pointeurs comme arguments par opposition
à une structure régulière, principalement étant qu'ils sont rétrocompatibles.
Versions précédentes du compilateur c ne fonctionnait pas avec des structures.
Et c'est aussi beaucoup plus rapide et plus efficace lorsque vous passez
un pointeur vers une fonction car vous n'avez pas à copier tous les
éléments, il vous suffit de copier l'adresse.
Donc nous allons avoir des fonctions qui prennent comme paramètres des pointeurs
vers des structures.
Cet élément de lecture va continuer.
Que doit faire cette fonction est, il doit lire
de l'utilisateur un nom de produit, un prix et une quantité ou un nom d'article.
Le contenu directement dans devrait être stocké dans le passé dans la structure.
Alors tu passes dans un pointeur vers une structure dans laquelle vous
souhaitez le stocker.
Je veux que tu en crée un autre fonction nommée élément d'impression.
Cela prend également comme paramètre pointeur de structure de type item.
Cette fonction imprimera le contenu du paramètre.
Alors tu vas juste pour faire quelques printfs.
Ce sera assez basique.
Dans la fonction principale, vous voulez déclarer un élément essentiellement
un élément de la structure du pointeur ou déclarer un élément et un pointeur de la
structure car alors vous peut attribuer
au point de l'article, l'adresse de l'article.
Et puis vous devez également allouer mémoire pour le pointeur de nom d'élément.
Alors souvenez-vous, le nom de l'article l'élément à l'intérieur de la structure est pointé par un caractère,
ce qui signifie doivent lui allouer de la mémoire.
Si c'était un personnage tableau, vous n’auriez pas à le faire.
Mais rappelez-vous, quand vous avez un élément en tant que pointeur de caractère,
il ne fait que créer de la mémoire pour le adresse, la valeur de ce pointeur.
Ça ne crée pas de mémoire pour ce qu'il indique.
Donc, si vous attribuez une constante littérale à lui, il pourrait être n'importe où dans la mémoire.
Donc vous voulez allouer mémoire pour cet
élément de nom d'élément à l'intérieur de la structure.
Le pointeur d'élément doit être passé à la fois dans
la lecture des fonctions d'élément d'impression
Alors encore une fois ce que ce défi aidera vous avec est de comprendre les pointeurs comment
les utiliser en tant que membre à l'intérieur de une structure et puis aussi
comment les faire circuler et vous avez un peu de pratique en faisant aussi du malloc.
Et puis n'oubliez pas, à chaque fois vous faites un malloc,
vous devez faire un gratuit, alors assurez-vous de ajoutez cela à votre programme.
Alors bonne chance.
Je vais fournir une solution dans la prochaine conférence.
En ce qui concerne la taille, vous pouvez choisissez simplement une taille arbitraire telle que 30
caractères ou quelque chose comme ça.
Vous n'êtes pas obligé de le lire.
Faites moi savoir si vous avez des questions. Merci.