ABA


"עזרה בשפת C"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10453 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10453
bodipo
חבר מתאריך 18.2.06
3976 הודעות
   22:23   19.08.11   
אל הפורום  
  עזרה בשפת C  
 
   ערכתי לאחרונה בתאריך 19.08.11 בשעה 22:48 בברכה, bodipo
 
אני לא מצליח לקלוט ערכים למערך של מבנים באופן הבא:

בתגובה מספר 2..

אשמח לדעת מדוע.


תודה לעוזרים..


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  קשה בלי סקופ של קוד וישור לשמאל, אבל אני כבר רואה בעיה עם (*sizeof(src ldan192  19.08.11 22:26 1
  קוד bodipo 19.08.11 22:32 2
     כמו שאמרתי ldan192  20.08.11 01:17 3
         בדרך שלך אני מקבל הודעת שגיאה bodipo 20.08.11 09:42 4
             כן, עכשיו אני רואה שהשתמש בו אח''כ. ראה עריכה. ldan192  20.08.11 11:28 5
                 תודה רבה! bodipo 20.08.11 12:54 6

       
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   22:26   19.08.11   
אל הפורום  
  1. קשה בלי סקופ של קוד וישור לשמאל, אבל אני כבר רואה בעיה עם (*sizeof(src  
בתגובה להודעה מספר 0
 


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bodipo
חבר מתאריך 18.2.06
3976 הודעות
   22:32   19.08.11   
אל הפורום  
  2. קוד  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 19.08.11 בשעה 22:37 בברכה, bodipo
 
https://rotter.name/User_files/nor/4e4ebb5976329dbc1.txt


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   01:17   20.08.11   
אל הפורום  
  3. כמו שאמרתי  
בתגובה להודעה מספר 2
 
ערכתי לאחרונה בתאריך 20.08.11 בשעה 11:28 בברכה, ldan192
 
נתחיל מזה ש-(*sizeof(strc זה בעצם גודל של פויינטר (שזה long, כלומר 32/64 ביט).
אתה מבצע אלוקציה מגודל לא נכונה.
הגודל שאתה צריך הוא (sizeof(strc שהוא בעצם 3*(sizeof(int שזה בעצם 3*4 = 12 בתים.

מעבר לזה, אתה מעביר פויינטר לא מאותחל.

קוד יותר נכון:



typedef struct Strc
{
int a,b,c;
}strc;


void fun(strc **a,int n)
{
int i;
*a=(strc *)malloc(4*sizeof(strc));
for(i=0;i<4;i++)
{
(*a)[i]->a=i;
(*a)[i]->b=i;
(*a)[i]->c=i 1;
}
}

void main()
{
strc *a;
int i;
fun(&a,4);

printf("value : ");

for(i=0;i<4;i )
{
printf("=",a[i].b);
}
printf("\n\n");
}



בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bodipo
חבר מתאריך 18.2.06
3976 הודעות
   09:42   20.08.11   
אל הפורום  
  4. בדרך שלך אני מקבל הודעת שגיאה  
בתגובה להודעה מספר 3
 
   על:

Warning 1 warning C4700: uninitialized local variable 'a' used

ושגיאת ריצה.
הרעיון שלי היה להכניס ערכים למערך BY REFERENCE.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   11:28   20.08.11   
אל הפורום  
  5. כן, עכשיו אני רואה שהשתמש בו אח''כ. ראה עריכה.  
בתגובה להודעה מספר 4
 


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bodipo
חבר מתאריך 18.2.06
3976 הודעות
   12:54   20.08.11   
אל הפורום  
  6. תודה רבה!  
בתגובה להודעה מספר 5
 
  


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

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

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



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