עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

משתנים מקומיים ב-c

Featured Replies

פורסם

שלום.

אני לא לומד מתוך ספר.

ואם אפשר הסבר לפי קטע קוד הזה.

ובספר רשום כשאתה מצהיר על משתנה בתוך פונקציה

הוא נפרד ונבדל ממשתנים אחרים במקום אחר בתוכנית.

מה הכוונה?.

ולמה התוצאה הזאת.

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

פורסם

זה אומר שהמשתנה הזה הוא מיוחד וקיים רק בתוך הפונקציה, וכל התייחסות ל-x ול-y בתוך הפונקציה מתייחסים רק למשתנים האלו שהוגדרו בתוך הפונקציה, ולא למשתנים הגלובליים x ו-y שהוגדרו מחוץ לה. בעצם יש לך פה 4 משתנים שונים - x ו-y הגלובליים, ו-x ו-y שהוגדרו בתוך הפונקציה, ואין קשר ביניהם פרט לעובדה שהם חולקים אותם שמות.

ולשאלתך השנייה, למה שזה יודפס קודם?

פורסם
  • מחבר
זה אומר שהמשתנה הזה הוא מיוחד וקיים רק בתוך הפונקציה, וכל התייחסות ל-x ול-y בתוך הפונקציה מתייחסים רק למשתנים האלו שהוגדרו בתוך הפונקציה, ולא למשתנים הגלובליים x ו-y שהוגדרו מחוץ לה. בעצם יש לך פה 4 משתנים שונים - x ו-y הגלובליים, ו-x ו-y שהוגדרו בתוך הפונקציה, ואין קשר ביניהם פרט לעובדה שהם חולקים אותם שמות.

ולשאלתך השנייה, למה שזה יודפס קודם?

מה זאת אומרת מתייחסים רק למשתנים בתוך פונקציה?

פורסם
  • מחבר
אני לא יודע איך לומר את זה בעברית יותר ברורה.

למשתנים מקומיים ב-c יש אותם כללים כמו בשפות אחרות.לדוגמא c# לינוקס ו-php?

פורסם

אני אנסה להסביר שוב.

בפעם הראשונה והאחרונה יודפסו 1 ו2 כי אתה נמצא בקטע הראשי MAIN.

ההדפסה האמצעית תסתכל על המשתנים שהוגדרו בתוך הפונקציה ולכן תדפיס אותם.

הכוונה של הספר היא שברגע שקראת לפונקציה ואתה יוצר שם משתנים הם שייכים רק לתוך מה שקורה בתוך הפונקציה בלבד והם נקראים LOCAL.

אפשר לחשוב על זה שאתה קורה לפונקציה נפתח חלון פרטי שבתוכו קורים דברים כמו הגדרה של X וY ולאחר הגדרה זו כל פעם שתרצה את X או את Y הוא יסתכל בהגדרה בתוך החלון הזה ולכן זאת הסיבה שהוא ידפיס 88 ו99.

פורסם
למשתנים מקומיים ב-c יש אותם כללים כמו בשפות אחרות.לדוגמא c# לינוקס ו-php?

כן, זה אותו דבר כמו ב-#C וב-php (לינוקס זו לא שפת תכנות). יש שפות שבהן הכללים האלה שונים.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.