eliom פורסם 2014 במאי 24 Share פורסם 2014 במאי 24 שלום.אני לא לומד מתוך ספר.ואם אפשר הסבר לפי קטע קוד הזה.ובספר רשום כשאתה מצהיר על משתנה בתוך פונקציההוא נפרד ונבדל ממשתנים אחרים במקום אחר בתוכנית.מה הכוונה?.ולמה התוצאה הזאת.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 קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2014 במאי 24 Share פורסם 2014 במאי 24 זה אומר שהמשתנה הזה הוא מיוחד וקיים רק בתוך הפונקציה, וכל התייחסות ל-x ול-y בתוך הפונקציה מתייחסים רק למשתנים האלו שהוגדרו בתוך הפונקציה, ולא למשתנים הגלובליים x ו-y שהוגדרו מחוץ לה. בעצם יש לך פה 4 משתנים שונים - x ו-y הגלובליים, ו-x ו-y שהוגדרו בתוך הפונקציה, ואין קשר ביניהם פרט לעובדה שהם חולקים אותם שמות.ולשאלתך השנייה, למה שזה יודפס קודם? קישור לתוכן שתף באתרים אחרים More sharing options...
eliom פורסם 2014 במאי 24 מחבר Share פורסם 2014 במאי 24 זה אומר שהמשתנה הזה הוא מיוחד וקיים רק בתוך הפונקציה, וכל התייחסות ל-x ול-y בתוך הפונקציה מתייחסים רק למשתנים האלו שהוגדרו בתוך הפונקציה, ולא למשתנים הגלובליים x ו-y שהוגדרו מחוץ לה. בעצם יש לך פה 4 משתנים שונים - x ו-y הגלובליים, ו-x ו-y שהוגדרו בתוך הפונקציה, ואין קשר ביניהם פרט לעובדה שהם חולקים אותם שמות.ולשאלתך השנייה, למה שזה יודפס קודם?מה זאת אומרת מתייחסים רק למשתנים בתוך פונקציה? קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2014 במאי 24 Share פורסם 2014 במאי 24 אני לא יודע איך לומר את זה בעברית יותר ברורה. קישור לתוכן שתף באתרים אחרים More sharing options...
eliom פורסם 2014 במאי 24 מחבר Share פורסם 2014 במאי 24 אני לא יודע איך לומר את זה בעברית יותר ברורה.למשתנים מקומיים ב-c יש אותם כללים כמו בשפות אחרות.לדוגמא c# לינוקס ו-php? קישור לתוכן שתף באתרים אחרים More sharing options...
Ligi פורסם 2014 במאי 24 Share פורסם 2014 במאי 24 אני אנסה להסביר שוב.בפעם הראשונה והאחרונה יודפסו 1 ו2 כי אתה נמצא בקטע הראשי MAIN.ההדפסה האמצעית תסתכל על המשתנים שהוגדרו בתוך הפונקציה ולכן תדפיס אותם.הכוונה של הספר היא שברגע שקראת לפונקציה ואתה יוצר שם משתנים הם שייכים רק לתוך מה שקורה בתוך הפונקציה בלבד והם נקראים LOCAL.אפשר לחשוב על זה שאתה קורה לפונקציה נפתח חלון פרטי שבתוכו קורים דברים כמו הגדרה של X וY ולאחר הגדרה זו כל פעם שתרצה את X או את Y הוא יסתכל בהגדרה בתוך החלון הזה ולכן זאת הסיבה שהוא ידפיס 88 ו99. קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2014 במאי 24 Share פורסם 2014 במאי 24 למשתנים מקומיים ב-c יש אותם כללים כמו בשפות אחרות.לדוגמא c# לינוקס ו-php?כן, זה אותו דבר כמו ב-#C וב-php (לינוקס זו לא שפת תכנות). יש שפות שבהן הכללים האלה שונים. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.