أنواع البيانات في لغة سي عبارة عن إعلانات لعنواين الذاكرة، أو المتغيرات، التي تحدد خصائص البيانات التي يمكن تخزينها وأساليب (العمليات) للمعالجة المسموح بها.
توفر لغة C أنواع حسابية أساسية، مثل أنواع الأعداد الصحيحة، والأعداد الرقمية، وبناء جمل اللغة لبناء أنواع المصفوفات والمركبات. يوجد العديد من الرؤوس (ترويسة (حوسبة)) في مكتبة سي المعيارية التي تحتوي على تعريفات للأنواع المدعومة، التي لها خصائص إضافية، مثل توفير مساحة تخزين ذات حجم دقيق، مستقلة عن التنفيذ.[1][2]
أنواع البيانات
توفر لغة السي أربعة أنواع أساسية من أنواع البيانات char الخاص برمز واحد و int الخاص بالأرقام الصحيحة و float الخاص بالأرقام العشرية و double الخاص بالأرقام العشرية الكبيرة، ومعدلات موقعة signed وغير موقعة unsigned وقصيرة (short) وطويلة (long). يسرد الجدول التالي المجموعات المسموح بها لتحديد مجموعة كبيرة من الإعلانات الخاصة بحجم التخزين.
النوع
التوضيح
char
أصغر وحدة يمكن معالجتها في الجهاز التي يمكن أن تحتوي على مجموعة أحرف أساسية. إنه نوع رقم صحيح (integer). يمكن أن يكون النوع الفعلي إما موقّعًا signed أو غير موقّع unsigned. يحتوي على عدد بايتس من CHAR_BIT[3]
%c
signed char
يستهلك نفس حجم الchar ولكن يضمن أن نوع البيان يكون موقعا signed. يحتوي على [−127، +127] مدي على الأقل [4][3]
%c (or %hhi for numerical output)
unsigned char
يستهلك نفس حجم الchar. ولكن ضمن أن نوع البيان يكون غير موقعا unsigned.يحتوي على [0، 255] مدي على الأقل[5]
%c (or %hhu for numerical output)
short
short int
signed short
signed short int
نوع صحيح قصير موقّع. قادرة على احتواء نطاق [،32,767، + 32,767] على الأقل، ولكن حجمها 16 بت على الأقل. القيمة السالبة هي −32767 (ليس 732768) بسبب التمثيلات الخاصة بالمكمل والتوقيع، التي يسمح بها المعيار، على الرغم من أن متمم ثنائي مكمل أكثر شيوعًا.[6][3][4]
%hi
unsigned short
unsigned short int
نوع صحيح قصير غير موقعة (unsigned int). قادر علي احتواء النطاق [0، 65535] على الأقل
%hu
int
signed
signed int
نوع صحيح موقّع أساسي (signed int). قادر على احتواء النطاق [32,767، + 32,767] على الأقل؛ ولكن، حجمها 16 بت على الأقل.
%i or %d
unsigned
unsigned int
نوع صحيح أساسي غير موقعة (unsigned int) يحتوي على الأقل على النطاق [0، 65535].[3][4]
%u
long
long int
signed long
signed long int
نوع صحيح طويل موقّع. قادرة على احتواء النطاق [−2,147,483,647] [−2,147,483,647] على الأقل، وحجمها 32 بت على الأقل.
%li
unsigned long
unsigned long int
نوع صحيح طويل غير موقعة. قادر على احتواء النطاق [0: 4,294,967,295] على الأقل.
%lu
long long
long long int
signed long long
signed long long int
عدد صحيح طويل موقع. قادر على أن يحتوي على الأقل [9,223,372,036,854,775,807، +9,223,372,036,854,775,807] المدى؛ وبالتالي، لا يقل حجمها عن 64 بت. محدد منذ إصدار C99.
%lli
unsigned long long
unsigned long long int
نوع صحيح غير موقعة. يحتوي على الأقل [0، +18,446,744,073,709,551,615] نطاق؛ معين منذ C99.
%llu
float
نوع ال floating-point الحقيقي. وعادة ما يشار اليه كfloating-point أحادي الدقة. الخصائص الفعلية غير محددة. ولكن في معظم الأنظمة يكون IEEE 754هو شكل الfloating-point ثنائي الدقة (32 بت).هذا الشكل يكون مطلوب في ملحق Annex F "IEC 60559 في حساب floating-point.
for formatted input:
%f %F for digital notation، or
%g %G، or
%e %E
%a %A
for كتابة علمية[7]
double
نوع ال floating-point الحقيقي. وعادة ما يشار اليه كfloating-point ثنائي الدقة. الخصائص الفعلية غير محددة. ولكن في معظم الأنظمة يكون IEEE 754هو شكل الfloating-point ثنائي الدقة (64 بت).هذا الشكل يكون مطلوب في ملحق Annex F "IEC 60559 في حساب floating-point.
%lf %lF
%lg %lG
%le %lE
%la %lA;[7] for formatted output، the length modifier l is optional.
long double
نوع الfloating-point يتم تعيينه عادةً إلى تنسيق floating-point الدقة ممتدة. الخصائص الفعلية غير محددة. يمكن ان يكون اما تنسيق floating-point بدقة x86 موسعة (80بت) ولكن عادة مايكون (96 بت) او (128 بت) في في الذاكرة مع واحدات البايت. وشكل IEEE754 floating-point نقطة (128 بت) او " long double ".
يختلف الحجم الفعلي لأنواع الأعداد الصحيحة باختلاف التنفيذ. يتطلب المعيار فقط علاقات حجم بين أنواع البيانات والحد الأدنى من الأحجام لكل نوع من البيانات:
متطلبات العلاقة هي أن «طويلة طويلة» long long ليست أصغر من «طويلة» long ، وهي ليست أصغر من «الأعداد الصحيحة» int ، وهي ليست أصغر من «قصيرة» short . نظرًا لأن حجم char «الرمز» هو دومًا الحد الأدنى من نوع البيانات المدعومة، فلا يمكن أن تكون أي أنواع بيانات أخرى (باستثناء حقول البتات) أصغر.
الحد الأدنى لحجم char هو 8 بت، الحد الأدنى لحجم short والint هو 16 بت، "long" هو 32 بت و "long long" يجب أن تحتوي على 64 بت على الأقل.
يجب أن يكون النوع int هو النوع الصحيح الذي يعمل به المعالج بشكل أكثر كفاءة. يتيح ذلك مرونة كبيرة: على سبيل المثال، يمكن أن تكون جميع الأنواع 64 بت. ومع ذلك، هناك العديد من أنظمة عرض عدد صحيح مختلفة (طرازات البيانات) شائعة. لأن نموذج البيانات يحدد كيفية توصيل البرامج المختلفة، يتم استخدام نموذج بيانات موحد داخل واجهة تطبيق نظام التشغيل.
عملياً، char عادةً ثمانية بت في الحجم و short عادةً 16 بت في الحجم (كما هي نظائرها غير الموقعة). ينطبق هذا على المنصات المتنوعة مثل التسعينات SunOS 4 Unix و Microsoft MS-DOS وLinux الحديثة و Microchip MCC18 للميكروكونترولر 8 بت. و POSIX يتطلب char أن يكون حجمها ثمانية بتات.
إن القواعد المختلفة في المعيار C تجعل "char" غير الموقّع هو النوع الأساسي المستخدم في المصفوفات المناسبة لتخزين الأشياء "non-bit-field" التعسفية: افتقارها إلى بتات الحشو وتوضيحات المصائد، وتعريف تمثيل الكائن إمكانية التعرج.
يختلف الحجم الفعلي وسلوك أنواع "floating-point" أيضًا حسب التطبيق. الضمان الوحيد هو أن "long double" ليس أصغر من "double"، وهو ليس أصغر من "float". عادة، يتم استخدام تنسيقات النقطة العائمة الثنائية 32 بت و 64 بت IEEE 754، إذا كانت مدعومة من قبل الأجهزة.
يتضمن معيار C99 أنواع float_t و double_t حقيقية جديدة "floating-point"، ويتم تعريفها في البداية في العنوان<math.h> . وهي تتوافق مع الأنواع المستخدمة للنتائج الوسيطة للتعبيرات ذات النقطة العائمة عندما تكون FLT_EVAL_METHOD هي 0 أو 1 أو 2. وقد تكون هذه الأنواع أوسع من مزدوجة طويلة.
وأضاف C99 أيضا أنواع معقدة: float _Complex، double _Complex، long double _Complex.
نوع القيم المنطقية (Boolean)
أضاف الC99 نوع Bool وهو عبارة عن ال (صحيح / خطأ) boolean . بالإضافة إلى ذلك، يعرّف العنوان الجديد <stdbool.h> ال Bool كاسم مستعار مناسب لهذا النوع كما يوفر وحدات الماكرو لـ true و false. وظائف ال Bool مماثلة لنوع متكامل عادي، مع استثناء واحد: يتم تخزين أي بيان إلى _Bool التي ليست 0 (خطأ) ك 1 (صحيح). يوجد هذا السلوك لتجنب طفح عدد صحيح (integer overflows) في تضييق التحويلات الضمنية. على سبيل المثال، في التعليمة البرمجية (code) التالية:
unsignedcharb=256;if(b){/* do something */}
قيمة الb ستساوي صفر/خطأ (false) في حالة أن يكونunsigned char في نطاق ال8بت.. ويرجع السبب في ذلك إلى عدم احتواء نوع البيان ال 256، مما يؤدي إلى استخدام 8 بتات أقل منه، مما ينتج عنه قيمة صفرية. ومع ذلك، يؤدي تغيير نوع التعليمات البرمجية (code) السابقة إلى التصرف بشكل طبيعي
_Boolb=256;if(b){/* do something */}
حجم ومؤشر الانواع المختلفة
مواصفات لغة الC بالأضافة الي typedefs (كلمة تستخدم لتكون اسم مستعار لنوع بيان جديد) size_t وptrdiff_t لتمثيل الكميات المتعلقة بالذاكرة. يتم تعريف حجمها وفقا للقدرات الحسابية لمعالج الهدف لا قدرات الذاكرة، مثل مساحة العنوان المتوفرة. كل من هذه الأنواع محددة في العنوان <stddef.h> (في السي++ cstddef).
size_t هو نوع صحيح غير موقعة يستخدم لتمثيل حجم أي كائن (بما في ذلك المصفوفات) في تنفيذ معين. sizeof المشغل ينتج قيمة من نوع size_t . الحجم الأكبر لsize_t بنتج من خلال SIZE_MAX
ثابت المايكرو الذي تم تعريفه في العنوان <stdint.h> .
size_t يضمن أن يكون على الأقل على نطاق 16 بايت. بالأضافة POSIX يحتوي ssize_t، وهو نوع متكامل موقّع بنفس عرضه ك size_t.
ptrdiff_t نوع متكامل موقَّع يُستخدم لتمثيل الفرق بين المؤشرات. فقط يضمن أن تكون صالحة ضد المؤشرات التي من نفس النوع. مسح المؤشرات التي تتكون من أنواع مختلفة هو تعريف التنفيذ.
واجهة خصائص الأنواع الاساسية
يتم توفير معلومات حول الخصائص الفعلية، مثل الحجم، من الأنواع الحسابية الأساسية، عبر الثوابت الكلية في رأسين: <limits.h> المسؤل عن تعريف الmacros للأرقام الصحيحة و <float.h> المسؤل عن تعريف الmacros لأنواع floating-point . القيم الحقيقية تعتمد علي التنفيذ الحقيقي.
خصائص نوع الرقم الصحيح (int)
CHAR_BIT حجم نوع الchar (على الأقل 8 بت)
SCHAR_MIN، SHRT_MIN، INT_MIN، LONG_MIN، LLONG_MIN أدنى قيمة ممكنة للأنواع الصحيحة الموقعة: signed char، signed short، signed int، signed long، signed long long .
SCHAR_MAX، SHRT_MAX، INT_MAX، LONG_MAX، LLONG_MAX أقصى قيمة ممكنة للأنواع الصحيحة الموقعة: signed char، signed short، signed int، signed long، signed long long.
UCHAR_MAX، USHRT_MAX، UINT_MAX، ULONG_MAX، ULLONG_MAX أقصى قيمة ممكنة لأنواع الأعداد الصحيحة غير الموقعة: unsigned char، unsigned short، unsigned int، unsigned long، unsigned long long.
CHAR_MIN الحد الأدنى لقيمة char.
CHAR_MAX الحد الأقصي لقيمة char
MB_LEN_MAX الحد الأقصى لعدد وحدات البايت في رمز multibyte.
خصائص أنواع الfloating-point
FLT_MIN، DBL_MIN، LDBL_MIN – الحد الأدنى للقيمة الموجبة ل float و الdouble وال long double على التوالي.
FLT_TRUE_MIN، DBL_TRUE_MIN، LDBL_TRUE_MIN – الحد الأقصي للقيمة الموجبة ل float و الdouble وال long double على التوالي.
FLT_MAX، DBL_MAX، LDBL_MAX – الحد الأقصي للقيمة المحددة ل float و الdouble وال long double على التوالي.
FLT_ROUNDS – وضع التقريب لعمليات الfloating-point.
FLT_EVAL_METHOD– طريقة تقييم التعبيرات التي تشمل أنواع ال floating-point المختلفة
FLT_RADIX – قاعدة الأس في أنواع ال floating-point.
FLT_DIG، DBL_DIG، LDBL_DIG – عدد من الأرقام العشرية التي يمكن تمثيلها دون فقدان الدقة عن طريق ال float ، وال double وال long double على التوالي.
FLT_EPSILON، DBL_EPSILON، LDBL_EPSILON – الفرق بين 1.0 والقيمة القابلة للتضمين التالية من ال float ، وال double وال long double على التوالي.
FLT_MANT_DIG، DBL_MANT_DIG، LDBL_MANT_DIG – عدد "FLT_RADIX-base digits" في النقطة floating-point وأنواع ال float ، وال double وال long double على التوالي.
FLT_MIN_EXP، DBL_MIN_EXP، LDBL_MIN_EXP – أقل عدد صحيح سالب بحيث تكون FLT_RADIX مرفوعة إلى أس أقل من ذلك العدد ليجعله من الأعداد الطبيعية ال float ، وال double وال long double على التوالي.
FLT_MIN_10_EXP، DBL_MIN_10_EXP، LDBL_MIN_10_EXP – الحد الأدني الصحيح السالب بحيث 10 ترفع الي الأس لجعله من الأعداد الطبيعية من ال float ، وال double وال long double على التوالي.
FLT_MAX_EXP، DBL_MAX_EXP، LDBL_MAX_EXP – أقصي عدد صحيح موجب مثل FLT_RADIX مرفوع الي أس أقل من ذلك العدد ليجعله من الأعداد الطبيعية ال float وال double وال long double على التوالي .
FLT_MAX_10_EXP، DBL_MAX_10_EXP، LDBL_MAX_10_EXP – أقصي عدد صحيح موجب بحيث 10 ترفع الي الأس لجعله من الأعداد الطبيعية من ال float ، وال double وال long double على التوالي.
DECIMAL_DIG (C99) – أقل عدد ممكن من الأرقام العشرية بحيث أي عدد من أنواع الfloating-point المدعومة على نطاق واسع يمكن تمثيله علي هيئة رقم عشري في دقه حروف DECIMAL_DIG ويقرأ مرة اخري في نوع الfloating-point الأصلي بدون تغير قيمته الأصلية . وDECIMAL_DIG على الأقل يكون 10.
أنواع الأعداد الصحيحة ذات العرض الثابت
يتضمن معيار C99 تعريفات لعدة أنواع جديدة جديدة لتعزيز إمكانية نقل البرامج.[2] تعتبر الأنواع الصحيحة الأساسية المتاحة بالفعل غير كافية، لأن أحجامها الفعلية محددة بالتطبيق وقد تختلف باختلاف الأنظمة المختلفة. تعتبر الأنواع الجديدة مفيدة بشكل خاص في البيئات المضمنة حيث لا يدعم الجهاز عادة سوى عدة أنواع، ويتنوع الدعم بين بيئات مختلفة. جميع الأنواع الجديدة يتم تعريفها في العنوان <inttypes.h> ويسمي في لغة السي++ cinttypes وايضا يمكن تعريفها في العنوان <stdint.h> . يمكن تجميع الأنواع في الفئات التالية:
عدد صحيح العرض الدقيق (Exact-width integer) يضمن الحصول علي نفس عدد N من البتات عبر جميع عمليات التنفيذ . يتم تضمينها فقط في حالة توفرها في التطبيق.
عدد صحيح أقل عرض (least-width integer) يضمن أن يستخدم أصغر نوع متاح من أنواع البيانات الذي على الأقل يحدد عدد N من البتات ويضمن أن تكون قيمة الN=8,16,32,64.
عدد صحيح الأسرع (fastest integer) يضمن أن يستخدم أسرع نوع متاح من أنواع البيانات الذي على الأقل يحدد عدد N من البتات ويضمن أن تكون قيمة الN=8,16,32,64.
عدد صحيح المؤشر (pointer integer) الذي يضمن أن يكون بامكانه حمل مؤشر ولكن يتم تضمينها فقط في حالة توفرها في التطبيق.
عدد صحيح أكبر عرض (maximum-width integer) يضمن أن يستخدم أكبر نوع متاح من أنواع البيانات.
يلخص الجدول التالي الأنواع والأوجه للحصول علي تفاصيل التنفيذ (الN تدل علي عدد البتات)
فئات الأنواع
أنواع موقعة
الأنواع غير الموقعة
النوع
القيمة الدنيا
أقصى قيمة
النوع
القيمة الدنيا
أقصي قيمة
عدد صحيح العرض الدقيق
intN_t
INTN_MIN
INTN_MAX
uintN_t
0
UINTN_MAX
عدد صحيح أقل عرض
int_leastN_t
INT_LEASTN_MIN
INT_LEASTN_MAX
uint_leastN_t
0
UINT_LEASTN_MAX
الأسرع
int_fastN_t
INT_FASTN_MIN
INT_FASTN_MAX
uint_fastN_t
0
UINT_FASTN_MAX
المؤشر
intptr_t
INTPTR_MIN
INTPTR_MAX
uintptr_t
0
UINTPTR_MAX
أكبر عرض
intmax_t
INTMAX_MIN
INTMAX_MAX
uintmax_t
0
UINTMAX_MAX
محددات تنسيق printf و scanf
العنوان <inttypes.h> يوفر ميزات تعمل على تحسين وظائف الأنواع المحددة في العنوان <stdint.h> وشملت هي وحدات الماكرو التي تحدد printf format string و scanf format string المقابلة لأنواع <stdint.h> والدوال المتعددة التي تعمل في أنواع intmax_t وuintmax_t . هذا العنوان تم اضافته في معيار C99.
Printf format string
وحدات الماكرو بتنسيق الPRI{fmt}{type}. في ال{fmt} يحدد تنسيق الإخراج وهي واحدة من ال d decimal، x hexadecimal، o octal، u unsigned و i integer . يعرف ال{type} نو ع الوسيط ويكون واحد من N، FASTN، LEASTN، PTR، MAX ، حيث ال N عدد البتات.
Scanf format string
وحدات الماكرو بتنسيق الPRI{fmt}{type}. في ال{fmt} يحدد تنسيق الإخراج وهي واحدة من ال d decimal، x hexadecimal، o octal، u unsigned و i integer . يعرف ال{type} نو ع الوسيط ويكون واحد من N، FASTN، LEASTN، PTR، MAX ، حيث ال N عدد البتات.
أنواع أخرى للfloating-point.
وعلى نحو مماثل للأنواع الصحيحة ذات العرض الثابت، تحدد المواصفة ISO / IEC TS 18661 أنواع الفواصل العائمة لتبادل IEEE 754 والتنسيقات الموسعة في binary (الثنائيات) و decimal (ال):
_DecimalNx لأجل الصيغ الموسة من الأرقام العشرية (decimal).
الهياكل (Structures)
تعطي الهياكل ميزة تخزين البيانات المتعددة. مختلفة في نوع البيان. في مخزن في الذاكرة يدل علي متغير واحد، المثال التالي يوضح هيكل معين اسم نوع البيان struct birthday الذي يحتوي على اسم الشخص ويوم ميلاده الذي يتكون من حروف وأرقام . يتم تعريف الهيكل ويليه تعريف المتغيرات والبيانات بداخلها.
تخطيط الذاكرة للهيكل هو مشكلة في تنفيذ اللغة لكل نظام أساسي، مع بعض القيود . عنوان الذاكرة لأول عنصر في الهيكل يجب أن يكون هو عنوان الهيكل نفسه، يمكن تهيئة الهياكل أو تعيينها لاستخدام القيم الحرفية المركبة compound literals، الدالة يمكن أن تعود بهيكل. على الرغم من أن هذا غير فعال في كثير من الأحيان في وقت التشغيل. منذ C99 ، قد ينتهي الهيكل أيضًا بعنصر من المصفوفة المرنة.
structnode{intval;structnode*next;};
المصفوفة (array)
لكل نوع T ، باستثناء أنواعا الدوال وال void ، توجد أنواع «مصفوفة عناصر N من النوع T». المصفوفة هي مجموعة من القيم، جميعها من نفس النوع، مخزنة بشكل متقارب في الذاكرة. يتم فهرسة (ترقيم) مصفوفة الحجم N بواسطة الأعداد الصحيحة من 0 حتى وتضم N-1. هناك أيضًا «مصفوفات ذات حجم غير محدد» (vector) حيث لا يعرف عدد العناصر بواسطة المبرمج أو المنفذ (compiler). هنا مثال موجز:
intcat[10];// array of 10 elements، each of type intintbob[];// array of an unspecified number of 'int' elements
يمكن تهيئة المصفوفات باستخدام مُهيئ مركب، ولكن لا يتم تعيينها. يتم تمرير المصفوفات إلى دوال function بتمرير مؤشر pointer إلى العنصر الأول. يتم تعريف المصفوفات متعددة الأبعاد على أنها «مصفوفه من المصفوفات ...»، ويجب أن يكون لجميع الأبعاد حجم ثابت وقت التجميع فيما عدا البعد الخارجي:
inta[10][8];// array of 10 elements، each of type 'array of 8 int elements'floatf[][32];// array of unspecified number of 'array of 32 float elements'
المؤشر (pointer)
كل نوع من البيانات T له مؤشر مناظر من نوع T . المؤشر هو نوع من أنواع البيانات ولكن يحتوي على عنوان موقع تخزين لمتغير من نوع معين . يتم اعلانه عن طريق وضع علامة النجمة (*) بعد نوع التخزين الأساسي وقبل اسم المتغير. المساحة قبل أو بعد علامة النجمة تكون اختيارية.
char*square;long*circle;int*oval;
قد يتم أيضًا الإعلان عن المؤشرات لأنواع بيانات المؤشر، وبالتالي إنشاء عدة مؤشرات غير مباشرة، مثل char ** و int *** ، بما في ذلك المؤشرات إلى المصفوفات . هذه الأخيرة أقل شيوعًا من مجموعة من المؤشرات، وقد يكون انشائها مربكًا:
char*pc[10];// array of 10 elements of 'pointer to char'char(*pa)[10];// pointer to a 10-element array of char
يستهلك الكمبيوتر الشخصي عشرة أجزاء من الذاكرة من حجم المؤشر char (عادة 40 أو 80 بايت على الأنظمة الأساسية الشائعة)، ولكن عنصر pa هو مؤشر واحد فقط - حجم الpa عادة 4 أو 8 - والبيانات التي تشير إليها هي مجموعة من عشرة بايت (sizeof * سنويا = 10).
اتحادات (Unions)
ال "union" هو بناء خاص يسمح بالوصول إلى مكان الذاكرة نفسه باستخدام خيار الأختلاف في نوع الوصف. على سبيل المثال، قد يتم التصريح عن اتحاد (union) أنواع البيانات للسماح بقراءة نفس البيانات إما integer أو float أو أي نوع آخر تم التصريح به من قبل المستخدم:
قرأه عنصر من union ليست هي نفسها مثل الصب فيه حيث أن قيمة العضو لا يتم تحويلها، بل يتم قراءتها فقط
مؤشرات الدالة (Function pointers)
مؤشرات الدالة تسمح بعودة الدالة بتوقيع معين. على سبيل المثال: تخزين عنوان معيار الدالة abs في متغير my_int_f:
int(*my_int_f)(int)=&abs;// the & operator can be omitted، but makes clear that the "address of" abs is used here
مميز النوع (Type qualifiers)
مذكور سابقا أن نوع البيان يمكن أن يكون مميزا أكثر بالType qualifiers . هناك أربعة أنواع مؤهلات في C11 القياسية: const C89 ، متقلبة C89 ، وتقييد C99 و _Atomic C11 . هذا الأخير لديه اسم خاص لتجنب تعارض مع أسماء المستخدمين. ولكن الatomic يمكن أن فقط يستخدم في حالة وجود العنوان <stdatomic.h> مسبقا . const الي حد بعيد هو أشهرهم وأكثرهم استخداما. تظهر في المكتبة القياسية وتوجد في أي استخدام كبير للغة C ، والتي يجب أن تلبي const-correctness (صحة الconst). تستخدم المؤهلات الأخرى للبرمجة ذات المستوى المنخفض، وعلى الرغم من استخدامها على نطاق واسع، إلا أنه نادرًا ما يستخدمها المبرمجون العاديون.[8][9]
^ ابجThe minimal ranges −(2n−1−1) to 2n−1−1 come from the various integer representations allowed by the standard. However، most platforms use two's complement، implying a range of the form −2m−1 to 2m−1−1 with m ≥ n for these implementations، e.g. [−128،127] (SCHAR_MIN = −128 and SCHAR_MAX = 127) for a 8-bit signed char.
^ ابجUppercase differs from lowercase in the output. Uppercase specifiers produce values in the uppercase، and lowecase in lower (%A، %E، %F، %G produce such values as INF، NAN and E (exponent) in uppercase).
Not to be confused with Castner process. Method of electrolysis of alkali chloride solutions The Castner–Kellner process is a method of electrolysis on an aqueous alkali chloride solution (usually sodium chloride solution) to produce the corresponding alkali hydroxide,[1] invented by American Hamilton Castner and Austrian Carl Kellner in the 1890s.[2][3] Due to lower energy cost and fewer environmental concerns, the Castner–Kellner process is being replaced gradual...
Artikel ini perlu diwikifikasi agar memenuhi standar kualitas Wikipedia. Anda dapat memberikan bantuan berupa penambahan pranala dalam, atau dengan merapikan tata letak dari artikel ini. Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan. Mengganti markah HTML dengan markah wiki bila dimungkinkan. Tambahkan pranala wiki. Bila dirasa perlu, buatlah pautan ke artikel wiki lainnya dengan cara menambahkan [[ dan ]] pada kata yang bersangkutan (lihat WP:LINK untuk keterangan lebih lanjut...
سيليفينيوتيكا تقسيم إداري البلد اليونان [1] خصائص جغرافية إحداثيات 38°09′41″N 22°19′54″E / 38.161388888889°N 22.331666666667°E / 38.161388888889; 22.331666666667 الارتفاع 92 متر السكان التعداد السكاني 1165 (إحصاء السكان) (2011) معلومات أخرى التوقيت ت ع م+02:00 (توقيت قياسي)، وت ع م+03:00 ...
Это статья о главном почтамте в Москве и его здании. См. также Здание главного почтамта (неоднозначность). ДостопримечательностьМосковский почтамт Здание Московского почтамта, возведённое по проекту Оскара Мунца в 1912 году, фото 2014 года 55°45′50″ с. ш. 37°38′11″ в. д...
Town in Maryland, United StatesGarrett Park, MarylandTown FlagSealLocation in Montgomery County and in MarylandCoordinates: 39°02′10″N 77°05′37″W / 39.03611°N 77.09361°W / 39.03611; -77.09361Country United StatesState MarylandCountyMontgomeryIncorporated1898[1]Area[2] • Total0.25 sq mi (0.65 km2) • Land0.25 sq mi (0.65 km2) • Water0.00 sq mi (0.00 km2...
نيكاراغوا (بالفرنسية: la République du Nicaragua)[1] نيكاراغواعلم نيكاراغوا نيكاراغواشعار نيكاراغوا الشعار الوطني(بالويلزية: Ymddiriedwn yn Nuw) النشيد: سالف أ تي [لغات أخرى] الأرض والسكان إحداثيات 13°N 85°W / 13°N 85°W / 13; -85 [2] أعلى قمة م�...
American professional wrestler Perry SaturnSaturn in 1998Birth namePerry Arthur SatulloBorn (1966-10-25) October 25, 1966 (age 57)[1]Cleveland, Ohio, U.S.Spouse(s) Lisa Kuhlemeier (m. 2009)Professional wrestling careerRing name(s)The GargoyleThe Iron Horseman[2]Perry Saturn[3]Peter MottsSaturn[2]Dry CleanerBilled height5 ft 10 in (1.78 m)[4]Billed weight241 lb (109 kg)[4]Billed fromBos...
Lumban Pea TimurDesaKantor Desa Lumban Pea TimurPeta lokasi Desa Lumban Pea TimurNegara IndonesiaProvinsiSumatera UtaraKabupatenTobaKecamatanBaligeKode pos22312Kode Kemendagri12.12.01.2040 Luas1,41 km²Jumlah penduduk1.065 jiwa (2015)Kepadatan755,32 jiwa/km² Lumban Pea Timur adalah salah satu desa di Kecamatan Balige, Kabupaten Toba, Provinsi Sumatera Utara, Indonesia. Pemerintahan Kepala Desa Lumban Pea Timur pada tahun 2015 adalah Tasman Tambunan.[1] Desa Lumban Pea Timur terd...
United States historic placeCabin Creek Ranger Residence and DormitoryU.S. National Register of Historic Places Cabin Creek ranger residenceShow map of CaliforniaShow map of the United StatesNearest cityWilsonia, CaliforniaCoordinates36°38′56″N 118°48′49″W / 36.64889°N 118.81361°W / 36.64889; -118.81361Built1934ArchitectNational Park ServiceArchitectural styleNational Park Service RusticNRHP reference No.78000368Added to NRHPApril 27, 1978 ...
Football team in Delaware Delaware Fightin' Blue Hens football2023 Delaware Fightin' Blue Hens football team First season1889Athletic directorChristine RawakHead coachRyan Carty 2nd season, 17–9 (.654)StadiumDelaware Stadium(capacity: 23,000)FieldTubby Raymond FieldYear built1952Field surfaceFieldTurfLocationNewark, Delaware, U.S.NCAA divisionI FCS(FBS in 2025)ConferenceCAA Football(CUSA in 2025)All-time record730–483–44 (.598)Bowl record8–3 (.727)Playoff appeara...
Mexican director and editor David Pablos SánchezPablos at the Paseo de la Fama induction in Tijuana, Mexico (2016)Born (1983-07-28) July 28, 1983 (age 40)Tijuana, Baja California, MexicoOther namesDavid de Don PablosAlma materCentro de Capacitación CinematográficaOccupation(s)Director, editor, screenwriterYears active2007–present David Pablos (born July 28, 1983) is a Mexican director, editor and screenwriter. An active filmmaker since 2007, Pablos has been involved i...
3rd Chief Minister of Madhya Pradesh Kailash Nath Katju3rd Chief Minister of Madhya PradeshIn office31 January 1957 – 11 March 1962Preceded byBhagwantrao MandloiSucceeded byBhagwantrao Mandloi4th Minister of DefenceIn office10 January 1955 – 30 January 1957Prime MinisterJawaharlal NehruPreceded byBaldev SinghSucceeded byV. K. Krishna Menon4th Minister of Home AffairsIn office5 November 1951 – 10 January 1955Prime MinisterJawaharlal NehruPreceded byC. Rajag...
Stadio Artemio Franchi Officiellt namnStadio Comunale Artemio FranchiTidigare namnStadio Giovanni BertaPlaceringFlorens, ItalienKapacitet47 282ÄgareFlorens kommunArkitektPier Luigi NerviPlanstorlek105 x 68 mUnderlagGräsHemmalagACF Fiorentina (fotboll)DatumInvigd1931Renoverad1990 Stadio Artemio Franchi är en fotbollsstadion i Florens i Italien. Den är hemmaarena för Serie A-klubben ACF Fiorentina. Stadion är byggd 1931 och har sedan renoverats 1990. Den har en kapacitet på 47...
Adult contemporary radio station in Kansas City For the ICAO code listing, see Grand Marais/Cook County Airport. KCKCKansas City, MissouriBroadcast areaKansas City, MissouriFrequency102.1 MHzBrandingKC 102.1ProgrammingFormatAdult contemporaryOwnershipOwnerSteel City Media(MGTF Media Company, LLC)Sister stationsKBEQ-FM, KFKF-FM, KMXVHistoryFirst air date1961 (as WDAF-FM)Former call signsWDAF-FM (1961–1974)KYYS (1974–1998)KOZN (1998–1999)KSRC (1999–2006)Call sign meaningKansas City repe...
Pour les articles homonymes, voir Lavey. Karla LaVeyKarla LaVey en 2012.BiographieNaissance 31 juillet 1952 (72 ans)San FranciscoNationalité américaineActivités Occultiste, animatrice de radioPère Anton Szandor LaVeyFratrie Zeena Schreck (en)Satan Xerxes Carnacki LaVey (d)modifier - modifier le code - modifier Wikidata Karla Maritza LaVey ou Karla Levey ou Karla Levy (née en 1952) est la fille d'Anton Szandor LaVey et de Carole Lansing. Elle n'est pas affiliée à l'Église de Sata...
Questa voce o sezione sull'argomento programmi televisivi italiani non cita le fonti necessarie o quelle presenti sono insufficienti. Commento: Eccessivita di alcuni fattoidi irrilevanti date giorno per giorno senza fonti Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento. VG21 NewsScreenshot della sigla usato dal novembre 2014 al 4 settembre 2023Altri titoliVideo Giornale P...
Business that makes and sells beer See also: Winery Kettles in a modern Trappist brewery A brewery or brewing company is a business that makes and sells beer. The place at which beer is commercially made is either called a brewery or a beerhouse, where distinct sets of brewing equipment are called plant.[1] The commercial brewing of beer has taken place since at least 2500 BC;[2] in ancient Mesopotamia, brewers derived social sanction and divine protection from the goddess Nin...