سرعت دستیابی به رجیسترهای پردازنده به مراتب بیشتر از حافظه سیستم هست ، کلید واژه register به کامپایلر اعلان میکنه که متغییر علامت گذاری شده پر استفاده هست و میتونه در رجیستر پردازنده ثبت بشه ( تا سرعت دسترسی و عملیات روش بیشتر بشه ) ، استفاده از این کلیدواژه نگهداری متغییر علامت گذاری شده روی رجیستر پردازنده رو تضمین نمیکنه بلکه فقط به کامپایلر پیشنهاد میده ، اینکه این عملیات صورت بگیره یا خیر بر عهده کامپایلر هست ، ممکنه کامپایلر بعد از Code Optimization یا ... به این نتیجه برسه که نیازی به این کار نیست یا هست .
در ضمن همچین کدی رو نمیشه نوشت :
register int i = 10;
int *a = &i;
چون نمیشه به آدرس یک رجیستر دسترسی داشت که در این موارد بسته به کامپایلر مورد استفاده ممکنه با خطا یا هشدار مواجه بشید .
این کلیدواژه در نسخه 11 به بعد ++C منسوخ شده .