משתנה חיצוני
שיעור 6 מתוך 17 בקורס פונקציות ב-C של Coddy.
יש סוג נוסף של משתנה מלבד משתנים גלובליים או מקומיים, והוא משתנה חיצוני. משתנים חיצוניים מוכרזים בקובץ אחד ומשמשים בקובץ אחר.
ניקח דוגמה. בקובץ הראשי אפשר להכריז על משהו כזה:
#include <stdio.h>
char title[] = "Coddy.tech";
void show() {
printf("This is an extern function\n");
}כאן אנחנו מכריזים על משתנה בשם title ועל פונקציה בשם show.
אפשר להשתמש בהם בקובץ אחר שיכיל את הפונקציה main, כך:
#include <stdio.h>
// המשתנה title מקובץ main.c
extern char title[];
// הפונקציה show מקובץ main.c
void show(void);
int main(void) {
// הדפס את המשתנה החיצוני title למסוף
printf("%s \n", title);
// קרא לפונקציה החיצונית show
show();
return 0;
}
כדי להשתמש במשתנה שמוגדר בקובץ חיצוני, משתמשים במילת המפתח extern לפני שם המשתנה. בדוגמה שלנו, שם המשתנה הוא title.
כדי להשתמש בפונקציה שמוגדרת בקובץ חיצוני, קודם כול מכריזים על אב הטיפוס שלה.
בדוגמה שלנו, אנחנו מגדירים פונקציה שמציגה הודעה ולא מחזירה דבר, לכן אב הטיפוס הוא void show(void). אם, למשל, יש לנו פונקציה שמחזירה ערך מסוג int ומקבלת שני פרמטרים מסוג int, אב הטיפוס יהיה int name(int, int), וכן הלאה.
הפלט של הדוגמה הזאת יהיה:
Coddy.tech
This is an extern function
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
כל השיעורים ביחידה פונקציות ב-C
תרגלו בעצמכם: קומפיילר C אונליין