מבוא לתכנות ולמדעי המחשב בשפת C/פונקציות: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
מ שוחזר מעריכה של 195.244.23.42 (שיחה) לעריכה האחרונה של יוסף אור
Johnny Zoo (שיחה | תרומות)
מ ←‏מוטיבציה: תיקוני תגים
שורה 10:
 
ניתן לכתוב אותה באופן הבא:
<syntaxhighlight lang="c">
#include <stdio.h>
 
שורה 45:
 
הנה דרך אלגנטית יותר לכתוב את אותה תוכנית תוך שימוש בפונקציה:
<syntaxhighlight lang="c">
#include <stdio.h>
 
שורה 72:
 
'''הסבר:''' נתבונן בהגדרת הפונקציה:
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS">
int squareSum(int n) {
int i,s = 0;
שורה 86:
בקוד של פונקציה אפשר גם להגדיר משתנים, וכמובן להשתמש בהם אחרי הגדרתם. כל המשתנים שמוגדרים בפונקציה הם מקומיים (לוקאליים), ואי אפשר להשתמש בהם מחוץ לגוף הפונקציה -- הם אינם מוכרים שם. משתנים עם אותו שם המוגדרים בקוד מחוץ לפונקציה הם משתנים אחרים, למרות שיש להם אותו שם. כך, שני המשתנים ששמם sum בדוגמה לעיל הם משתנים שונים, שאין ביניהם שום קשר. שימוש במשתנה מקומי של פונקציה מחוץ לפונקציה אינו אפשרי. אם ננסה להשתמש בו ללא הגדרה שלו ניצור שגיאת הידור. וכאמור הגדרה "שלו" יוצרת משתנה חדש. כאמור לעיל, הפרמטרים של פונקציה הם משתנים לוקאליים ואי אפשר להשתמש בהם מחוץ לפונקציה.
 
בכל מקום בקוד שבו רוצים להפעיל את הפונקציה, כותבים את שמה ובסוגריים העוקבים כותבים ערכים לפרמטרים שלה. כאשר בזמן ריצה מגיעים לנקודה זו,מופעלת הפונקציה: ערכים אלו מושמים לפרמטרים, ואז מבוצע קוד הפונקציה, ובסיום מוחזר ערך -- ערך הפעלה זו. המשתנים המקומיים נוצרים כאשר מפעילים את הפונקציה, וחדלים להתקיים עם היציאה מההפעלה -- זמן החיים שלהם הוא זמן פעולת הפונקציה בלבד. נזכיר כי ההבדל היחיד בין פרמטרים למשתנים מקומיים אחרים של הפונקציה הוא שערכם של הפרמטרים כבר הושם בתחילת הפעלת הפונקציה. יתכן, למעשה שכיח, שפונקציה נקראת במהלך ריצת תוכנית כמה פעמים. כל קריאה יוצרת הפעלה, עם ערכי פרמטרים וערך חזרה משלה.
 
 
== מימוש פונקציית חזקה ==