לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #7  
ישן 26-05-2007, 15:22
  fhever fhever אינו מחובר  
 
חבר מתאריך: 17.08.04
הודעות: 652
שלח הודעה דרך ICQ אל fhever
בתגובה להודעה מספר 6 שנכתבה על ידי HEN_K שמתחילה ב "הממ..תודה אבל ההסבר שלך הוא מאוד לקוני ועל רגל אחת..."

למעשה כתובת של מערך היא מצביע לתא הראשון במערך!

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

בעצם שאתה מגדיר מערך אז הוא מקצה רצץ של תאים (תלוי בגדול המערך ובסוגו) בזכרון אחד אחרי השני, ולכן הפנייה לתאים מתבצעת הצורה הזאת - arrVec[number] i כלומר תפנה לערך שנמצא N תאים מהערך הראשון (ולכן תאים ב-C מתחילים מ-0 ולא מ-1 כי שאתה מבקש את התא הראשון זה כבר התא הראשון פלוס 1 .

ושאתה שולח כתובת של מערך , אתה שולח את הכתובת של התא הראשון במערך , וצריך לשלוח אותו בצורת מצביע כי זה כתובת.

דוגמא:
קוד PHP:
 void Func(intarrVec
וההתיחסות לתאים היא רגילה בתוך הפונקציה

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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #9  
ישן 26-05-2007, 16:36
  fhever fhever אינו מחובר  
 
חבר מתאריך: 17.08.04
הודעות: 652
שלח הודעה דרך ICQ אל fhever
בתגובה להודעה מספר 8 שנכתבה על ידי HEN_K שמתחילה ב "...."

אני לא כל כך בקיא בסינטקס עצמו של C , אבל אני זוכר שיש איזה פונקציה שמדפיסה מחרוזת שלמה.

וסתם ככה אתה יכול להדפיס תו תו במחרוזת כדי להדפיסה , (זה לא מדפיס לך את הכתובת שלה כי אתה מנסה להדפיס כתובת ב- CHAR ...

אין לך פשוט צורך להחזיר אותה מאחר ואתה מעביר את הכתובת של המערך , והשינוי שאתה מבצע במערך הוא על תאי הזכרון עצמם ולא על העתק שלהם (כמו בשליחת כל משתנה) , וזה בכל זאת משתנה , בדיוק כמו שאתה רוצה למשל לשנות ערך מספרי שאתה שולח לפרוצדורה(ע"י מצביע).

יכול להיות שזה מדפיס לך שטויות מאחר שלאחר הזנת כל התווים הרצויים לתוך המחרוזת לא שמת '0\'.

ובקשר לראות את הערך הכתובתי של המערך אתה פשוט יכול לראות אותו ע"י כתיבה של שם המערך בדיבאגר ( כי אני לא יודע בדיוק איך בשפת C מתייחסים לכתיבת שם המערך בתוכנית)
_____________________________________
חתימתכם הוסרה כיוון שלא עמדה בחוקי האתר. לפרטים נוספים לחצו כאן. תוכלו לקבל עזרה להתאמת החתימה לחוקים בפורום חתימות וצלמיות.

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #11  
ישן 26-05-2007, 19:41
  fhever fhever אינו מחובר  
 
חבר מתאריך: 17.08.04
הודעות: 652
שלח הודעה דרך ICQ אל fhever
בתגובה להודעה מספר 10 שנכתבה על ידי HEN_K שמתחילה ב "תודה רבה עזרת לי מאוד ועוד שאלה קטנה..."

זה כבר יותר מסובך , אבל זה אותו עיקרון של המצביע.

אתה פשוט מחזיר את המצביע לתא הראשון אני יראה לך דוגמא.

דוגמא:


קוד PHP:
 // Func
 
intFunc()
 
{
 
int arrnVec[NUM_VEC];
 
// .............................
 
// ..........COMMANDS...........
 
// .............................
 
return (arrnVec);
 
}
 
// Main
 
void main()
 
{
 
intpnVec;
 
pnVec Func();
 





שים לב שלא יהיה לך אחרי זה חריגות מגודל המערך , מומלץ להשתמש בקבועים גלובלים למטרה זאת , או שאתה תשלח את גודל המערך לפונקציה כך שתדע אחרי זה לאיזה גודל להתייחס בתוכנית
ואז פשוט בתוכנית אתה יכול להתייחס למערך בצורה הבאה - pnVec[nIndex] i
_____________________________________
חתימתכם הוסרה כיוון שלא עמדה בחוקי האתר. לפרטים נוספים לחצו כאן. תוכלו לקבל עזרה להתאמת החתימה לחוקים בפורום חתימות וצלמיות.

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 23:46

הדף נוצר ב 0.06 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר