size_t
من cppreference.com
<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) | |
| الإزاحة (offset) بالبايت من بداية struct حتى عنصر محدد (ماكرو دالة) | |
مقالة مرجع C++ عن size_t
| |