ABA


"אשמח להסבר קצר על structure tag ב-c"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #21338 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 21338
Adielb  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 22.6.11
7352 הודעות, 7 פידבק, 14 נקודות
   22:40   14.07.15   
אל הפורום  
  אשמח להסבר קצר על structure tag ב-c  
 
   הכוונה היא, לדוג' בקוד הנ"ל:


struct Tag1
{
int a;
double d;
}Tag2;

למה משמש Tag1 ולמה Tag2 ? אני מבין שTag2 זה בעצם שם הטיפוס החדש
שיצרתי כמבנה, אם כך אז למה Tag1 משמש?

תודה


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  Tag2 זה קיצור במקום לכתוב בטיפוס struct Tag1 אתה כותב רק Tag2 inno3D 14.07.15 23:19 1
     כלומר ביצירת משתנה חדש מהסוג אני יכול ב2 הדרכים הבאות? : Adielb  14.07.15 23:46 2
         כה inno3D 14.07.15 23:49 3
             אבל מה שאתה אומר לא תופס רק אם אני מגדיר את המבנה כ-typedef? Adielb  14.07.15 23:56 4
                 צודק סליחה, זה פשוט הכזרה על משתנה inno3D 15.07.15 00:03 5
                     אז זה בדיוק מה שלא ברור לי :| Adielb  15.07.15 01:16 6
                         Tag2 במקרה הזה זה לא שם חדש inno3D 15.07.15 01:50 7
                             טוב לקח זמן אבל נפל לי האסימון Adielb  15.07.15 17:24 8

       
inno3D
חבר מתאריך 21.4.02
4533 הודעות, דרג אמינות חבר זה
   23:19   14.07.15   
אל הפורום  
  1. Tag2 זה קיצור במקום לכתוב בטיפוס struct Tag1 אתה כותב רק Tag2  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Adielb  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 22.6.11
7352 הודעות, 7 פידבק, 14 נקודות
   23:46   14.07.15   
אל הפורום  
  2. כלומר ביצירת משתנה חדש מהסוג אני יכול ב2 הדרכים הבאות? :  
בתגובה להודעה מספר 1
 
   struct Tag1 new_st;
או
Tag2 new_st;

וזו הגדרה שקולה?
@inno3D@

תודה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות, דרג אמינות חבר זה
   23:49   14.07.15   
אל הפורום  
  3. כה  
בתגובה להודעה מספר 2
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Adielb  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 22.6.11
7352 הודעות, 7 פידבק, 14 נקודות
   23:56   14.07.15   
אל הפורום  
  4. אבל מה שאתה אומר לא תופס רק אם אני מגדיר את המבנה כ-typedef?  
בתגובה להודעה מספר 3
 
   typedef struct Tag1{...}Tag2;
?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות, דרג אמינות חבר זה
   00:03   15.07.15   
אל הפורום  
  5. צודק סליחה, זה פשוט הכזרה על משתנה  
בתגובה להודעה מספר 4
 
   http://www.tutorialspoint.com/cprogramming/c_structures.htm

אתה יכול להכריז על משתנים on the fly

@Adielb@
בדוגמא שלך struct Tag1 זה הטיפוס
Tag2 זה המשתנה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Adielb  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 22.6.11
7352 הודעות, 7 פידבק, 14 נקודות
   01:16   15.07.15   
אל הפורום  
  6. אז זה בדיוק מה שלא ברור לי :|  
בתגובה להודעה מספר 5
 
   struct tag1 הוא בעצם הטיפוס
אבל אם הייתי מגדיר את ה-struct ללא tag1, ככה:

Struct
{
...
}Tag2;

עדיין הייתי יכול ליצור משתנה בצורה הבאה
Tag2 new_var;
לא?
אני מפספס משהו?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות, דרג אמינות חבר זה
   01:50   15.07.15   
אל הפורום  
  7. Tag2 במקרה הזה זה לא שם חדש  
בתגובה להודעה מספר 6
 
   ערכתי לאחרונה בתאריך 15.07.15 בשעה 01:59 בברכה, inno3D
 
זה משתנה מהטיפוס של ה struct

אי אפשר לכתוב tag2 new_var; כי tag2 זה לא טיפוס..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Adielb  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 22.6.11
7352 הודעות, 7 פידבק, 14 נקודות
   17:24   15.07.15   
אל הפורום  
  8. טוב לקח זמן אבל נפל לי האסימון  
בתגובה להודעה מספר 7
 
   ברגע שזה עם typedef, אזי TAG2 הוא פשוט שם הטיפוס החדש שהגדרתי
והוא שקול ל-struct Tag1.

במקרה השני, בעצם הגדרתי STRUCT ויצרתי משתנה מהטיפוס שלו "בבת אחת"
ו-TAG2 הוא המשתנה מטיפוס struct Tag1

שכן זה בערך מה שאמרת אבל לקח לי קצת זמן עד שתפסתי

תודה על המענה


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

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

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



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