פורסם 2014 במאי 2411 שנים שלום.אני לא לומד מתוך ספר.ואם אפשר הסבר לפי קטע קוד הזה.ובספר רשום כשאתה מצהיר על משתנה בתוך פונקציההוא נפרד ונבדל ממשתנים אחרים במקום אחר בתוכנית.מה הכוונה?.ולמה התוצאה הזאת.After calling demo(), x = 1 and y = 2. לא מודפסת לפני זאת?Within demo(), x = 88 and y = 99.1: /* Demonstrates local variables. */2:3: #include <stdio.h>4:5: int x = 1, y = 2;6:7: void demo(void);8:9: main()10: {11: printf("\nBefore calling demo(), x = %d and y = %d.", x, y);12: demo();13: printf("\nAfter calling demo(), x = %d and y = %d\n.", x, y);14:15: return 0;16: }17:18: void demo(void)19: {20: /* Declare and initialize two local variables. */21:22: int x = 88, y = 99;23:24: /* Display their values. */25:26: printf("\nWithin demo(), x = %d and y = %d.", x, y);27: }Before calling demo(), x = 1 and y = 2.Within demo(), x = 88 and y = 99. After calling demo(), x = 1 and y = 2
פורסם 2014 במאי 2411 שנים זה אומר שהמשתנה הזה הוא מיוחד וקיים רק בתוך הפונקציה, וכל התייחסות ל-x ול-y בתוך הפונקציה מתייחסים רק למשתנים האלו שהוגדרו בתוך הפונקציה, ולא למשתנים הגלובליים x ו-y שהוגדרו מחוץ לה. בעצם יש לך פה 4 משתנים שונים - x ו-y הגלובליים, ו-x ו-y שהוגדרו בתוך הפונקציה, ואין קשר ביניהם פרט לעובדה שהם חולקים אותם שמות.ולשאלתך השנייה, למה שזה יודפס קודם?
פורסם 2014 במאי 2411 שנים מחבר זה אומר שהמשתנה הזה הוא מיוחד וקיים רק בתוך הפונקציה, וכל התייחסות ל-x ול-y בתוך הפונקציה מתייחסים רק למשתנים האלו שהוגדרו בתוך הפונקציה, ולא למשתנים הגלובליים x ו-y שהוגדרו מחוץ לה. בעצם יש לך פה 4 משתנים שונים - x ו-y הגלובליים, ו-x ו-y שהוגדרו בתוך הפונקציה, ואין קשר ביניהם פרט לעובדה שהם חולקים אותם שמות.ולשאלתך השנייה, למה שזה יודפס קודם?מה זאת אומרת מתייחסים רק למשתנים בתוך פונקציה?
פורסם 2014 במאי 2411 שנים מחבר אני לא יודע איך לומר את זה בעברית יותר ברורה.למשתנים מקומיים ב-c יש אותם כללים כמו בשפות אחרות.לדוגמא c# לינוקס ו-php?
פורסם 2014 במאי 2411 שנים אני אנסה להסביר שוב.בפעם הראשונה והאחרונה יודפסו 1 ו2 כי אתה נמצא בקטע הראשי MAIN.ההדפסה האמצעית תסתכל על המשתנים שהוגדרו בתוך הפונקציה ולכן תדפיס אותם.הכוונה של הספר היא שברגע שקראת לפונקציה ואתה יוצר שם משתנים הם שייכים רק לתוך מה שקורה בתוך הפונקציה בלבד והם נקראים LOCAL.אפשר לחשוב על זה שאתה קורה לפונקציה נפתח חלון פרטי שבתוכו קורים דברים כמו הגדרה של X וY ולאחר הגדרה זו כל פעם שתרצה את X או את Y הוא יסתכל בהגדרה בתוך החלון הזה ולכן זאת הסיבה שהוא ידפיס 88 ו99.
פורסם 2014 במאי 2411 שנים למשתנים מקומיים ב-c יש אותם כללים כמו בשפות אחרות.לדוגמא c# לינוקס ו-php?כן, זה אותו דבר כמו ב-#C וב-php (לינוקס זו לא שפת תכנות). יש שפות שבהן הכללים האלה שונים.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.