ABA


"|שפת C-שאלה| למה כשאני מאתחל פוינטר אני רושם...."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15789 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15789
biren

   12:51   02.04.10   
אל הפורום  
  |שפת C-שאלה| למה כשאני מאתחל פוינטר אני רושם....  
 
   את השורה הבאה :
int *mypointer=null

מה שהשורה הנ"ל עושה זה מכניסה אפס לכתובת זבל. לא ככה ?

תודה מראש


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  כן, אבל NULL עם אותיות גדולות. ronen333  02.04.10 13:05 1
     תודה biren 02.04.10 13:10 2
         סליחה לא קראתי טוב מה שרשמת בהודעה. ronen333  02.04.10 13:30 3
  לא DLN 02.04.10 13:48 4
  שנייה לא הבנתי... biren 02.04.10 14:05 5
     מכתב ronen333  02.04.10 14:12 6
         סבבה הבנתי. אתה יכול להתייחס לעדכון שלי בהודעה הקודמת? biren 02.04.10 14:13 7
             אני די בטוח שעניתי לך גם על זה.. אבל אני אחזור ronen333  02.04.10 14:20 8
                 אחלה הבנתי תודה רבה biren 02.04.10 14:23 9

       
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   13:05   02.04.10   
אל הפורום  
  1. כן, אבל NULL עם אותיות גדולות.  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
biren

   13:10   02.04.10   
אל הפורום  
  2. תודה  
בתגובה להודעה מספר 1
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   13:30   02.04.10   
אל הפורום  
  3. סליחה לא קראתי טוב מה שרשמת בהודעה.  
בתגובה להודעה מספר 2
 
   לא זה לא מכניס 0 לכתובת זבל, זה מחליף את הזבל ב0.
יש הבדל רב חחח...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   13:48   02.04.10   
אל הפורום  
  4. לא  
בתגובה להודעה מספר 0
 
   אם היית כותב
int * mypointer;
*mypointer=0
אז זה היה מכניס אפס לכתובת זבל שמוכלת במצביע, ובסבירות גבוהה גורם לאקספשן ולסגירה של התכנית.
מה שאתה רשמת מכניס NULL למצביע עצמו, מכניס 0 לכתובת במחסנית שהיא למעשה המצביע הזה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
biren

   14:05   02.04.10   
אל הפורום  
  5. שנייה לא הבנתי...  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 02.04.10 בשעה 14:12 בברכה, biren
 
int *p=NULL מאפס את הכתובת מזבל לכתובת 0 (הראשונה במחסנית) ?

אז אפשר לעשות השמה של כתובת לפוינטר *p רק בשורת הגדרה ?

3=P* זה בתוכנית עצמה (להציב את 3 בכתובת של P ) ?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   14:12   02.04.10   
אל הפורום  
  6. מכתב  
בתגובה להודעה מספר 5
 
   בדרך שאתה רשמת המצביע P יצביע לכתובת 0.
לכתוב:

int *p=NULL;

שקול ללכתוב:

int *p;
p=NULL;

אם היית רושם:

int *p;
*p=NULL;

אז זה היה ניגש לכתובת הזיבלית ומנסה לעשות השמה שם.
כמו שDLN רשם סביר שזה יגרום לקריסת התוכנית.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
biren

   14:13   02.04.10   
אל הפורום  
  7. סבבה הבנתי. אתה יכול להתייחס לעדכון שלי בהודעה הקודמת?  
בתגובה להודעה מספר 6
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   14:20   02.04.10   
אל הפורום  
  8. אני די בטוח שעניתי לך גם על זה.. אבל אני אחזור  
בתגובה להודעה מספר 7
 
   כפי שהראתי-
בפיסת קוד הראשונה אתה מצהיר עליו יחד עם הכתובת NULL (כלומר אתה מאתחל אותו לכתובת אפס עוד בהתחלה).
אתה יכול לשנות את הכתובת מתי שאתה רוצה (ראה פיסת קוד שניה).
בהתחלה זה זבל, אחר כך אתה משנה את כתובתו לNULL.

בפיסת קוד השלישית אתה ניגש לאן שP מצביע ועושה השמה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
biren

   14:23   02.04.10   
אל הפורום  
  9. אחלה הבנתי תודה רבה  
בתגובה להודעה מספר 8
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net