كيفية تحديد طول المصفوفة في لغة سي

كيفية تحديد طول المصفوفة في لغة سي

لا يوفر C طريقة مضمنة للحصول على حجم ملفمجموعة مصفوفة. عليك القيام ببعض الأعمال مقدما.

أريد أن أذكر أبسط طريقة للقيام بذلك ، أولاً: حفظ طول المصفوفة في متغير. أحيانًا يكون الحل البسيط هو الأفضل.

بدلاً من تعريف المصفوفة على النحو التالي:

int prices[5] = { 1, 2, 3, 4, 5 };

يمكنك استخدام متغير للحجم:

const int SIZE = 5;
int prices[SIZE] = { 1, 2, 3, 4, 5 };

لذلك إذا كنت بحاجة إلى تكرار المصفوفة باستخدام حلقة ، على سبيل المثال ، فإنك تستخدم ذلكSIZEعامل:

for (int i = 0; i < SIZE; i++) {
  printf("%u\n", prices[i]);
}

إن أبسط طريقة إجرائية للحصول على قيمة طول المصفوفة هي باستخدامsizeofالمشغل أو العامل.

تحتاج أولاً إلى تحديد حجم المصفوفة. ثم تحتاج إلى تقسيمه على حجم عنصر واحد. إنه يعمل لأن كل عنصر في المصفوفة له نفس النوع ، وبهذا يكون له نفس الحجم.

مثال:

int prices[5] = { 1, 2, 3, 4, 5 };

int size = sizeof prices / sizeof prices[0];

printf("%u", size); /* 5 */

بدلا من:

int size = sizeof prices / sizeof prices[0];

تستطيع ايضا استخذام:

int size = sizeof prices / sizeof *prices;

مثلالمؤشرإلى السلسلة يشير إلى العنصر الأول في السلسلة.

تحميل مجانيكتيب C


المزيد من دروس clang: