04-03-2006, 03:06
|
|
|
|
חבר מתאריך: 04.11.04
הודעות: 6,986
|
|
שליחת pointer לפונקציה ב ++C
אני כרגע בשלבים מאוד בסיסיים של ללמוד ++C, ואני מנסה להבין איך אני שולח משתנה של pointer לתוך פונקציה (את הכתובת, לא את הערך).
עשיתי כל מיני נסיונות אבל ללא הצלחה.
זה הדבר שנראה לי הכי הגיוני (רק שהוא לא עובד...)
קוד PHP:
#include <iostream> using namespace std; int *a_day; int mort (int a_day); int main () { int day; a_day=&day; cin>>day; int f=mort (a_day); cout<<"r="<<f<<endl; getchar(); cin.get(); } int mort (int a_day) { int r=*a_day; return r; }
וניסיתי גם את זה:
קוד PHP:
#include <iostream> using namespace std; int r_day; int *x; int mort (&r_day); int main () { x=&r_day; cin>>r_day; int f=mort (x); cout<<"r="<<f<<endl; getchar(); cin.get(); } int mort (&a_day) { int r=*a_day; return r; }
כ"כ, אם כבר פתחתי את האשכול, ננסה להרוג עוד שאלה.
כדי להגדיר פונקציה אני צריך בעצם "לכתוב אותה" 3 פעמים:
א. כשאני קורא לה - ואז בסוגריים מופיעים הביטויים (arguments) שאני "שולח" לפונקציה
ב. "בראש" התכנה ששם אני "מכריז" שיש פונקציה בעלת שם X ומה היא מחזירה.
ג. הפונקציה עצמה
השאלה שלי היא מה ההבדל בין מה שמופיע בסוגריים בזמן הכרזת הפונקציה לבין מה שמופיע בסוגריים בפונקציה עצמה - האם הביטויים חייבים להיות בעלי אותו שם?
והאם אני חייב להגדיר גם בפונקציה עצמה בסוגריים את סוג ה"ביטויים"?
מקווה שזה לא יותר מדי, ותודה מראש בכל אופן.
|