Video: C Programming Tutorial for Beginners 2024
Ce se întâmplă atunci când nu prototip? Ca și în cazul programării C, atunci când mergeți în sus, compilatorul sau link-ul vă informează cu un mesaj de eroare - sau programul nu funcționează corect. Nu este sfârșitul lumii - nu, nu cum ar fi programarea unui robot militar sau proiectarea unui cod genetic pentru o nouă specie de Venus flytrap.
FUNCȚIE DE BAZĂ; NU RETURNĂ
#include promptul void (); / * prototipul functiei * / int main () {int loop; inputul de tip char [32]; loop = 0; în timp ce (buclă);}
Exercițiul 1 : Modificați codul sursă din funcția de bază; ->
Eroare compilator sunt lucruri minunate, incantatoare de precizie dar totusi criptice.Aici este mesajul de eroare generat de Cod:: Blocuri, deși numai părțile relevante ale mesajului:13 Avertisment: declarația implicită a funcției " prompt "23 Avertisment: tipurile de conflicte pentru" prompt "13 Avertisment: declarația implicită implicită a" promptului "a fost aici
Primul avertisment apare la linia 13 din fișierul cu cod sursă, unde funcția prompt () () funcția.Compilatorul vă spune că utilizați o funcție fără un prototip.Așa cum se spune în mesajul de eroare, declarați implicit o funcție.Acesta este o eroare nu-nu, dar nu complet. >
Al doilea avertisment apare atunci când funcția prompt () se află în program.În codul sursă este la linia 23. Avertizările precizează că pro mpt () a fost deja declarat (la rândul 11) și că a doua utilizare poate intra în conflict cu prima.
Avertismentul final este o referință înapoi la locul unde a fost apelată funcția, din nou la rândul 13.Pentru a spune în mod succint: Compilatorul nu are nicio idee despre ce se întâmplă cu funcția prompt (). Codul dvs. se compilează, dar executarea acestuia este riscant.
Puteți trage concluzia că prototiparea este o necesitate absolută în codul dvs. C. Nu este chiar adevărat. Puteți evita prototipul prin reordonarea funcțiilor din codul sursă. Atâta timp cât o funcție este listată înainte de a fi utilizată, nu aveți nevoie de un prototip.
Exercițiu2
: Editați codul sursă din exercițiul 10-3. Eliminați prototipul de funcții care a fost comentat la Linia 3. Tăiați și inserați (deplasați) funcția prompt () din partea inferioară a listei cu cod sursă în partea de sus, deasupra funcției principal (). Salvați, construiți și executați. Evitarea funcției Prototype arată soluția pentru Exercițiul 2. AVERTISMENT PROTOTYPE FUNCTION
#include / * Afișare prompt * / void prompt (void) {printf ("C: DOS> int main () {buclă int; inputul de tip char [32]; loop = 0; în timp ce (bucla <5) {prompt (); fgets (intrări, 31, stdin); (0);}
În primul rând, scrierea funcției principale (), urmată de alte funcții, permite o mai bună citire, deși aveți libertatea de a vă pune mai întâi propriile funcții pentru a evita prototipul.Și dacă nu, rețineți că alți programatori ar putea face acest lucru, astfel încât să nu vă surprindeți când o vedeți.
Mesaje de eroare compilatoare în Cod:: Blocurile au paranteze după ele. Comentariile paranteze se referă la comutatorul
sau opțiunea tradițională de linie de comandă, care permite verificarea unui anumit avertisment. De exemplu, mesajele de eroare din Exercițiul 1 sunt citite integral: 11 Avertisment: declarația implicită a funcției "prompt" (-Wimplicit-function-declaration) 20 Avertisment: >