🇨 مرجع لغة C بالعربي
كل كلمة مفتاحية ودالة قياسية في لغة C بالعربي: ماذا تفعل، صياغتها، مثال يوضّحها، وأشهر الأخطاء — لغة مُترجَمة فلا يوجد تشغيل حي في المتصفح. حاليًا 12 عنصر — والقائمة تكبر.
أساسيات اللغة
void*
المؤشر العام (Generic Pointer)
void* مؤشر لا يرتبط بأي نوع بيانات محدّد — يستطيع الإشارة لأي شيء، لكن لازم تحوّله لنوع حقيقي قبل قراءة ما يشير إليه.
const int* / int *const
المؤشر لثابت مقابل المؤشر الثابت
مكان const حول * يحدّد أيّ قيمة محمية من التعديل: القيمة المُشار إليها، أو عنوان المؤشّر نفسه.
sizeof
عامل قياس الحجم بالبايت
sizeof عامل (وليس دالة) يُرجع حجم نوع أو متغيّر بالبايت وقت الترجمة — أساسي مع malloc وحساب عدد عناصر المصفوفات.
typedef
تسمية الأنواع
typedef يعطي اسمًا بديلًا (alias) لنوع موجود — الأشيع لتقصير struct الطويلة أو توضيح أنواع المؤشرات المعقّدة.
المكتبة القياسية
atoi
تحويل نص إلى عدد صحيح (سريع لكن غير آمن)
atoi تحوّل نصًا إلى int بسرعة، لكن لا طريقة للتمييز بين فشل التحويل ونص يمثّل صفرًا فعليًا.
strtol
تحويل نص إلى عدد بأمان
strtol تحوّل نصًا إلى long مع طريقة موثوقة لكشف الفشل الكامل والفشل الجزئي وتجاوز المدى، بعكس atoi.
sprintf / snprintf
تحويل عدد إلى نص بأمان
sprintf تكتب نصًا منسّقًا لمصفوفة بدون أي حد لحجمها، بينما snprintf تأخذ حجم المخزن كمعامل فتمنع تجاوز الحدود.
qsort
الترتيب العام عبر مؤشر دالة
qsort من stdlib.h تفرز أي مصفوفة من أي نوع بيانات، بالاعتماد على دالة مقارنة تزوّدها أنت تحدّد الترتيب.
rand / srand
أرقام عشوائية زائفة
rand تُولّد عددًا زائف العشوائية بين 0 وRAND_MAX، وsrand تحدّد نقطة بداية التسلسل (البذرة/seed).
isalpha وعائلة ctype.h
تصنيف الأحرف وتحويلها
مكتبة ctype.h توفّر دوالًا سريعة لفحص نوع الحرف (حرف؟ رقم؟ فراغ؟) وتحويل حالة الأحرف بين كبيرة وصغيرة.
assert
التحقق من الافتراضات وقت التطوير
assert توقف البرنامج فورًا برسالة تشخيصية لو كان الشرط الممرَّر خاطئًا — أداة تصحيح أخطاء تُعطَّل تلقائيًا بالإصدار النهائي.
va_list
الدوال متغيّرة المعاملات
stdarg.h تتيح كتابة دوال تقبل عددًا متغيّرًا من المعاملات، بنفس الفكرة التي تُبنى عليها printf وscanf.
🎓 تريد التعلم بالترتيب بدل المرجع السريع؟ ابدأ من مسار C الكامل بالعربي.