English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدرس، ستعلم كيفية نقل المصفوفة (مصفوفة أحادية الأبعاد ومصفوفة متعددة الأبعاد) إلى الدوال في البرمجة بلغة C من خلال الأمثلة.
في لغة البرمجة C، يمكنك نقل المصفوفة بأكملها إلى الدالة. قبل أن نصل إلى هذا، دعنا نرى كيف نقل عناصر المصفوفة إلى الدالة.
نقل عناصر المصفوفة إلى الدالة يشبهنقل المتغيرات إلى الدالة。
#include <stdio.h> void display(int age1, int age2) { printf("%d\n", age1); printf("%d\n", age2); } int main() { int ageArray[] = {2, 8, 4, 12}; //نقل الثاني والثالث عناصر إلى display() display(ageArray[1], ageArray[2]); return 0; }
نتائج الإخراج
8 4
//البرنامج يحسب مجموع عناصر المصفوفة من خلال نقلها إلى الدالة #include <stdio.h> float calculateSum(float age[]); int main() float result, age[] = {23.4, 55, 22.6, 3, 40.5, 18}; //إرسال مصفوفة age إلى calculateSum() result = calculateSum(age); printf("النتيجة = %.2f", result); return 0; } float calculateSum(float age[]) { float sum = 0.0; لـ(int i = 0; i < 6; ++i) sum += age[i]; } return sum; }
نتائج الإخراج
النتيجة = 162.50
لنقل كامل المصفوفة إلى الدالة، قدم فقط اسم المصفوفة كمعامل.
result = calculateSum(age);
لكن لاحظ استخدام [] في تعريف الدالة.
float calculateSum(float age[]) { ... .. }
سيخبر هذا المبرمج الماكينة أنك تقوم بنقل مصفوفة أحادية الأبعاد إلى الدالة.
لإرسال مصفوفة متعددة الأبعاد إلى الدالة، قم فقط بتقديم اسم المصفوفة إلى الدالة (مثل مصفوفة أحادية الأبعاد).
#include <stdio.h> void displayNumbers(int num[2][2]); int main() { int num[2][2]; printf("ادخل 4 أرقام:\n"); لـ(int i = 0; i < 2; ++i) لـ(int ج = 0; ج < 2; ++ج) scanf("%d", &num[i][j]); //إرسال مصفوفة متعددة الأبعاد إلى الدالة displayNumbers(num); return 0; } void displayNumbers(int num[2][2]) { printf("عرض:\n"); لـ(int i = 0; i < 2; ++i) { لـ(int ج = 0; ج < 2; ++ج) { printf("%d\n", num[i][j]); } } }
نتائج الإخراج
إدخال 4 أرقام: 2 3 4 5 عرض: 2 3 4 5
ملاحظة:في برمجة لغة C، يمكن نقل المسافات إلى الوظائف، ولكن لا يمكن إرجاع المسافات من الوظائف.