มีสี่คลาสการจัดเก็บข้อมูลในภาษาการเขียนโปรแกรม C ซึ่งมีดังนี้ -
- อัตโนมัติ
- ภายนอก
- คงที่
- ลงทะเบียน
ลงทะเบียนตัวแปร
-
คีย์เวิร์ดคือ register.
-
ค่าตัวแปร Register จะถูกเก็บไว้ในการลงทะเบียน CPU แทนที่จะเป็นหน่วยความจำที่เก็บตัวแปรปกติ
-
รีจิสเตอร์เป็นหน่วยเก็บข้อมูลชั่วคราวใน CPU
-
ช่วยให้เข้าถึงการลงทะเบียนตัวแปรได้เร็วกว่าตัวแปรปกติ
ตัวอย่างที่ 1
ต่อไปนี้เป็นโปรแกรม C สำหรับ ลงทะเบียนคลาสพื้นที่เก็บข้อมูล −
#include<stdio.h> main ( ){ register int i; for (i=1; i<=5; i++) printf ("%d ",i); }
ผลลัพธ์
ผลลัพธ์ที่ได้ระบุไว้ด้านล่าง −
1 2 3 4 5
ตัวอย่างที่ 2
พิจารณาโปรแกรม C อื่นสำหรับ register storage class -
#include<stdio.h> int main(){ register int a; printf("%d",a); //prints default value of a =0 }
ผลลัพธ์
ผลลัพธ์ที่ได้ระบุไว้ด้านล่าง −
0
ตัวอย่างที่ 3
ต่อไปนี้เป็นโปรแกรม C ที่สามสำหรับคลาสการจัดเก็บแบบคงที่ -
#include<stdio.h> int main(){ register int i = 10; int *p; //int *p = &i; //error occurred ,here we are trying to request address of register variable printf("Value of i: %d", *p); printf("Address of i: %u", p); }
ผลลัพธ์
ผลลัพธ์ที่ได้ระบุไว้ด้านล่าง −
Error:add of reg var?