עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

שאלה בשפת C | פונקציה המחזירה מערך של תווים

Featured Replies

פורסם

שאלה למי שמבין

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

char[] newShring(char[] a)

{

int i;

char temp,newA[];

temp = a[o];

for (i=1;i<strlen(a);i++)

{

if (temp == a)

{

newA[k] = temp;

k++;

}

temp = a;

}

return newA[k+1];

}

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

void main()

{

int i;

char[k+1] mainString;

char[] mainA = {"aaffbc"};

mainString = newShring(mainA);

gets(mainString);

}

mainString זה המערך החדש

char[] newShring(char[] a) newString זה הפונקציה mainA זה המערך ששלחתי לו

פורסם

ערוך את ההודעה ושים את הקוד בתוך תג קוד, כדי שיהיה קריא יותר.

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

פורסם

המלצה קטנה: תשתמש בקישור הבא כמדריך לשפת C:

http://orianit.edu-negev.gov.il/rogozinkg/sites/homepage/mkuna/regFiles/Cource%20C.pdf

ספר מעולה בן 352 עמודים, אם אני לא טועה.

התוכן בספר ממש איכותי.

תיכנס גם לאתר interlect.co.il > תיכון ובגרויות > מחשבים > שפת C - ישם שם קורס מקוון וחינמי, ממש מומלץ.

פורסם
  • מחבר

ערוך את ההודעה ושים את הקוד בתוך תג קוד, כדי שיהיה קריא יותר.

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

הבנתי אותך אחי, תודה

  • 2 שבועות מאוחר יותר...
פורסם

שלום,

ישנם שני דרכים להחזיר מערך מפונקציה:

1. החזרת מצביע כמו שנכתב קודם לכן.

2. החזרת עותק של המערך וזאת ע"י כך שמחזירים מבנה (struct) שבתוכו מוגדר המערך. שים לב שבמקרה זה גודל המערך חייב להיות ידוע מראש.

בנוסף הייתי ממליץ על הספר

"The ANSI C Programming Language" book by Brian W. and Dennis M.

אשר האוניברסיטה הפתוחה משתמשת בו.

ישנו אתר של שאלות ותשובות עיוניות לחזרה על החומר הנילמד בשפת סי:

http://www.quizmeup.com/categories/programming-language/c-language/quiz

ארכיון

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

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.