שפת C++ מערכים בפויינטרים - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

שפת C++ מערכים בפויינטרים


11moshiko11

Recommended Posts

קודם כל, אני רוצה לקלוט מערך בעזרת פויינטר:

int *arr;

for(int i=0;i<5;i++)

cin>>&(arr+i*4);

האם ARR* נחשב לפויינטר על מערך?

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

קישור לתוכן
שתף באתרים אחרים

כמו שאמרתי לך בת'רד אחר, תשתמש בטג קוד על מנת שהקוד שלך יהיה קריא.

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

int* arr = new int[5];

(אתה מוזמן להחליף את 5 בגודל המערך שאתה רוצה)

2. אתה לא צריך לכפול את i ב-4. כשאתה עושה arr+i אז הקומפיילר יודע בכמה צריך להגדיל את arr באמת (גודל של int אחד).

3. האופרטור & עושה ההיפך ממה שאתה רוצה. אתה צריך את האופרטור *. חוץ מזה, אתה יכול פשוט לעשות [cin >> arr[i (זה שקול).

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...