نطاقات
المتغيرات
أفعال

size_t

من cppreference.com
< c | types
<tbody> </tbody>
معرفة في ملف <stddef.h>
معرفة في ملف <stdio.h>
معرفة في ملف <string.h>
معرفة في ملف <time.h>
typedef /*implementation-defined*/ size_t;

size_t‎ هو نوع عدد الصحيح دون إشارة ينتج عن المعامل sizeof والمعامل alignof والمعامل offsetof.

ملحوظات

يمكن لـ size_t‎ تخزين أكبر حجم ممكن لأي كائن مهما كان نوعه (بما فيه المصفوفات).

من الإستخدامات الشائعة لـ size_t‎ ترقيم المصفوفات وعد دورات الحلقات (loops). فالبرامج التي تستعمل انواع أخرى مثل unsigned int ربما تفشل على نظام 64 بت مثلا لأن رقم العنصر المراد يفوق UINT_MAX‎.

مثال

#include <stdio.h>
#include <stddef.h>
#include <stdint.h>

int main(void)
{
    const size_t N = 100;
    int numbers[N];
    for (size_t ndx = 0; ndx < N; ++ndx)
        numbers[ndx] = ndx;
    printf("SIZE_MAX = %lu\n", SIZE_MAX);
    size_t size = sizeof(numbers);
    printf("size = %zu\n", size);
    
    return 0;
}

خرج ممكن:

SIZE_MAX = 18446744073709551615
size = 400

أنظر أيضا

نوع عدد صحيح ذو إشارة يتم إرجاعه عند طرح مؤشرين
(معرف بـ typedef) [edit]
الإزاحة (offset) بالبايت من بداية struct حتى عنصر محدد
(ماكرو دالة) [edit]