کلاس دیگری از حافظه که فقط در مورد متغیرهایی از نوع int و char اعمالپذیر است، مشخصه ثبات یا register است. این مشخصه موجب میگردد که این نوع متغیرها حافظه را به جای حافظه اصلی کامپیوتر (که به طور متعارف همه متغیرها در آن ذخیره میگردند) ثبات CPU درنظر گیرند که در این صورت هر نوع عملیات روی این گونه متغیرها خیلی سریع انجام میگیرد. این شیوه معمولاً در مورد متغیرهای کنترلکننده حلقه به کار میرود که موجب افزایش محسوس سرعت عملیات میگردد. به هرحال این کار فقط برای متغیرهای محلی است. همچنین به لحاظ محدود بودن ثباتهای CPU، تعداد متغیرهایی که میتوانند در هر برنامه با این شیوه به کار روند محدود است.
مثالبه تابع زیر توجه کنید.
int noor(m , n)
int m ;
register int n ;
{
register int k ;
k = 1 ;
for (; n>0 ; n–)
k = k + m ;
return k ;
}
در این تابع هر دو متغیر n و k به صورت متغیری با کلاس حافظه register توصیف شدهاند، زیرا هر دو در درون حلقه به کار میروند.