עבור לתוכן
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.

הפונקציה realloc בC

Featured Replies

פורסם
  • מחבר

נסיתי, עכשיו התבלבלתי עוד יותר.

מבחינה תחבירית זה נראה לי הכי נכון שאפשר, אולי בגלל זה אני לא מצליח להבין..

אולי תגלה לי את הפיתרון? מה לא היה נכון שם? ::)

פורסם

אתה מנסה לעשות משהו כזה (זה די דומה לקוד שלך, פישטתי אותו והורדתי את הקטע של הפונקציות):

Monom *a = (Monom*)malloc(sizeof(Monom)*10);
Monom **b = &a;

שים לב שהטיפוס של a הוא מצביע ל-Monom, והטיפוס של b הוא מצביע למצביע (ל-Monom). להזכירך, מצביע == מערך, כלומר אם a הוא מצביע ל-Monom אז הוא גם משמש כמערך של Monom, ו-b, שהוא מצביע למצביע, משמש כמערך של מצביעים.

כשאתה מנסה לעשות [b[j אז זה בעצם שקול ל-(b+j)*, כלומר "גש למקום ה-j במערך b". אבל b הוא לא באמת מערך! הוא סתם מצביע למקום כלשהו בזכרון (ליתר דיוק, המקום בו יושב המשתנה a). תאר לך לדוגמה שהמערך שנוצר באמצעות ה-malloc יושב במקום 1000. כלומר, a מכיל את הערך 1000, וכשאתה עושה [a[j אז אתה בעצם ניגש למקום 1000+(j*sizeof(Monom בזכרון. נניח כעת שהמשתנה a יושב במקום 20000 בזכרון. אז b מכיל את הערך 20000, וכשאתה עושה [b[j אז אתה מנסה לגשת למקום 20000+(*j*sizeof(int, שהוא חסר משמעות.

פורסם
  • מחבר

אז במצבים כאלה תמיד להשתמש בפורמט עם הנקודה במקום החץ?

פורסם

בחץ משתמשים כשיש לך מצביע ל-struct, ואך ורק במקרה הזה. לא משתמשים בו כשיש לך מערך של struct.

ארכיון

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

דיונים חדשים

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.