ההבדל העיקרי בין הצהרה להגדרה ב-C הוא שהצהרה ב-C מספרת למהדר על שם הפונקציה, סוג ההחזרה והפרמטרים בעוד שההגדרה ב-C מכילה את היישום בפועל של הפונקציה. כלומר, ההצהרה מספקת מידע על הפונקציה למהדר בעוד שההגדרה מכילה את ההצהרות בפועל של הפונקציה לביצוע משימה ספציפית.
C היא שפת תכנות מובנית למטרות כלליות. הוא משתמש במבני בקרה כגון if/else, חזרות כגון for loop, while loop ופונקציות. פונקציה היא קבוצה של משפט שעוזר לבצע משימה מסוימת שוב ושוב.יתר על כן, ניתן לקרוא לפונקציות מהפונקציה הראשית. לאחר ביצוע ההצהרה האחרונה של הפונקציה, הפקד עובר חזרה לפונקציה הראשית. מאמר זה דן בהצהרה ובהגדרה של פונקציות ב-C ומשווה את ההבדל ביניהן. הגדרת הפונקציה מציינת מה הפונקציה עושה, והצהרה מציינת מה הולך לפונקציה; זה אב טיפוס.
מהי הצהרה ב-C?
הצהרה מספקת מידע על הפונקציה למהדר. התחביר של ההצהרה הוא כדלקמן.
return_ סוג function_name (רשימת פרמטרים);
הנח פונקציה שמחשבת את הסכום של שני מספרים שלמים. ההצהרה היא כדלקמן.
int sum (int num1, int num2);
שם הפונקציה הוא sum, והפרמטרים הם שני מספרים שלמים שהם num1 ו-num2. פונקציה זו מחזירה מספר שלם. ההצהרה המלאה מסתיימת בנקודה-פסיק.
אין צורך לכלול את שמות הפרמטרים בהצהרה. לכן, אפשר גם לציין רק את סוג הנתונים כדלקמן. להלן הצהרה תקפה.
int sum (int, int);
מהי הגדרה ב-C?
Definition מכילה את ההצהרות בפועל של הפונקציה לביצוע משימה ספציפית. התחביר הוא כדלקמן.
return_type function_name (רשימת פרמטרים){
// הצהרות פונקציה
}
שם הפונקציה עוזר לזהות את הפונקציה. בעת הפעלת פונקציה, ערכים עוברים לפונקציה זו. ערכים אלה מעתיקים לפרמטרים. רשימת הפרמטרים יכולה להכיל פרמטר אחד או מספר פרמטרים. ולפרמטרים האלה יש סוג נתונים ושם. יתר על כן, יכולות להיות גם פונקציות ללא שום פרמטר.
הצהרות הפונקציה נמצאות בתוך הסוגרים המתולתלים. זה גוף הפונקציה.לאחר ביצוע הפונקציה, היא תחזיר ערך. סוג ההחזר תלוי בערך ההחזר. אם הפונקציה מחזירה מספר שלם, סוג ההחזרה הוא int. אם הפונקציה מחזירה כפול, אז סוג ההחזרה הוא כפול וכו'.
עיין בקוד שלהלן עם הצהרה והגדרה של פונקציה.
איור 01: תוכנית לחישוב סיכום של שני מספרים
לפי התוכנית לעיל, שורה 3 מציגה את ההצהרה. זה אומר למהדר על שם הפונקציה, פרמטרים וכו'. בפונקציה הראשית, שני ערכים נלקחים מהמקלדת, והם מאוחסנים במשתנה 'a' ו-'b'. בשורה 12, ערכים אלו מועברים לפונקציה הנקראת sum. ה-'a' וה-'b' האלה הם טיעונים.
בשורה 16, פונקציית הסכום מופעלת.הוא מעתיק את הערך a ל- num1 ואת הערך b ל- num2. פונקציה זו מחזירה את הסיכום והערך הזה מאחסן במשתנה 'ans' (שורה 12). לבסוף, התשובה מודפסת למסך. בקצרה, שורה 3 מציגה את ההצהרה בעוד שורה 16 עד 18 מציגה את ההגדרה.
מה ההבדל בין הצהרה להגדרה ב-C?
Declaration הוא אב טיפוס המציין את שם הפונקציה ואת חתימת הסוג כגון סוגי נתונים, סוגי החזרה ופרמטרים אך משמיט את גוף הפונקציה. ההגדרה מציינת את שם הפונקציה וחתימות הסוג כגון סוגי נתונים, סוגי החזרות ופרמטרים, והיא כוללת את גוף הפונקציה. Declaration אומר למהדר על שם הפונקציה וכיצד לקרוא לה. מצד שני, ההגדרה מכילה את היישום בפועל של הפונקציה. זה מתאר את המשימה של הפונקציה.
סיכום – הצהרה לעומת הגדרה ב-C
ההבדל בין הצהרה להגדרה ב-C הוא שהצהרה ב-C מספרת למהדר על שם הפונקציה, סוג ההחזרה והפרמטרים בעוד שההגדרה ב-C מכילה את היישום בפועל של הפונקציה.