ประเภทข้อมูล Objective-C
ในภาษาโปรแกรม Objective-C ชนิดข้อมูลหมายถึงระบบที่กว้างขวางที่ใช้สำหรับการประกาศตัวแปรหรือฟังก์ชันประเภทต่างๆ ประเภทของตัวแปรจะกำหนดพื้นที่ที่ใช้ในหน่วยเก็บข้อมูลและวิธีการตีความรูปแบบบิตที่จัดเก็บ
ประเภทใน Objective-C สามารถแบ่งได้ดังนี้ -
ซีเนียร์ | ประเภทและคำอธิบาย |
---|---|
1 | Basic Types − เป็นประเภทเลขคณิตและประกอบด้วยสองประเภท: (a) ประเภทจำนวนเต็มและ (b) ประเภททศนิยม |
2 | Enumerated types − เป็นประเภทเลขคณิตอีกครั้งและใช้เพื่อกำหนดตัวแปรที่สามารถกำหนดได้เฉพาะค่าจำนวนเต็มไม่ต่อเนื่องบางค่าตลอดทั้งโปรแกรม |
3 | The type void − ตัวระบุชนิดเป็นโมฆะระบุว่าไม่มีค่า |
4 | Derived types − ซึ่งรวมถึง (a) ประเภทตัวชี้ (b) ประเภทอาร์เรย์ (c) ประเภทโครงสร้าง (ง) ประเภทสหภาพและ (จ) ประเภทฟังก์ชัน |
ประเภทอาร์เรย์และประเภทโครงสร้างเรียกรวมกันว่าประเภทการรวม ประเภทของฟังก์ชันระบุชนิดของค่าที่ส่งกลับของฟังก์ชัน เราจะเห็นประเภทพื้นฐานในส่วนต่อไปนี้ในขณะที่ประเภทอื่น ๆ จะกล่าวถึงในบทต่อ ๆ ไป
ประเภทจำนวนเต็ม
ตารางต่อไปนี้ให้รายละเอียดเกี่ยวกับประเภทจำนวนเต็มมาตรฐานพร้อมขนาดพื้นที่จัดเก็บและช่วงค่า -
ประเภท | ขนาดการจัดเก็บ | ช่วงค่า |
---|---|---|
ถ่าน | 1 ไบต์ | -128 ถึง 127 หรือ 0 ถึง 255 |
ถ่านที่ไม่ได้ลงนาม | 1 ไบต์ | 0 ถึง 255 |
ลงนามถ่าน | 1 ไบต์ | -128 ถึง 127 |
int | 2 หรือ 4 ไบต์ | -32,768 ถึง 32,767 หรือ -2,147,483,648 ถึง 2,147,483,647 |
int ที่ไม่ได้ลงนาม | 2 หรือ 4 ไบต์ | 0 ถึง 65,535 หรือ 0 ถึง 4,294,967,295 |
สั้น | 2 ไบต์ | -32,768 ถึง 32,767 |
สั้นไม่ได้ลงนาม | 2 ไบต์ | 0 ถึง 65,535 |
ยาว | 4 ไบต์ | -2,147,483,648 ถึง 2,147,483,647 |
ไม่ได้ลงนามยาว | 4 ไบต์ | 0 ถึง 4,294,967,295 |
หากต้องการรับขนาดที่แน่นอนของประเภทหรือตัวแปรบนแพลตฟอร์มใดแพลตฟอร์มหนึ่งคุณสามารถใช้ไฟล์ sizeofตัวดำเนินการ นิพจน์sizeof (type)ให้ขนาดหน่วยเก็บข้อมูลของอ็อบเจ็กต์หรือพิมพ์เป็นไบต์ ต่อไปนี้เป็นตัวอย่างเพื่อรับขนาดของประเภท int บนเครื่องใด ๆ -
#import <Foundation/Foundation.h>
int main() {
NSLog(@"Storage size for int : %d \n", sizeof(int));
return 0;
}
เมื่อคุณคอมไพล์และรันโปรแกรมข้างต้นโปรแกรมจะสร้างผลลัพธ์ต่อไปนี้บน Linux -
2013-09-07 22:21:39.155 demo[1340] Storage size for int : 4
ประเภทจุดลอยตัว
ตารางต่อไปนี้ให้รายละเอียดเกี่ยวกับประเภทจุดลอยตัวมาตรฐานพร้อมขนาดพื้นที่จัดเก็บและช่วงค่าและความแม่นยำ -
ประเภท | ขนาดการจัดเก็บ | ช่วงค่า | ความแม่นยำ |
---|---|---|---|
ลอย | 4 ไบต์ | 1.2E-38 ถึง 3.4E + 38 | ทศนิยม 6 ตำแหน่ง |
สองเท่า | 8 ไบต์ | 2.3E-308 ถึง 1.7E + 308 | ทศนิยม 15 ตำแหน่ง |
คู่ยาว | 10 ไบต์ | 3.4E-4932 ถึง 1.1E + 4932 | ทศนิยม 19 ตำแหน่ง |
ไฟล์ส่วนหัว float.h กำหนดมาโครที่อนุญาตให้คุณใช้ค่าเหล่านี้และรายละเอียดอื่น ๆ เกี่ยวกับการแทนค่าเลขฐานสองของจำนวนจริงในโปรแกรมของคุณ ตัวอย่างต่อไปนี้จะพิมพ์พื้นที่เก็บข้อมูลที่ถ่ายโดยประเภทลอยและค่าช่วง -
#import <Foundation/Foundation.h>
int main() {
NSLog(@"Storage size for float : %d \n", sizeof(float));
return 0;
}
เมื่อคุณคอมไพล์และรันโปรแกรมข้างต้นโปรแกรมจะสร้างผลลัพธ์ต่อไปนี้บน Linux -
2013-09-07 22:22:21.729 demo[3927] Storage size for float : 4
ประเภทโมฆะ
ประเภทโมฆะระบุว่าไม่มีค่า ใช้ในสถานการณ์สามประเภท -
ซีเนียร์ | ประเภทและรายละเอียด |
---|---|
1 | Function returns as void มีฟังก์ชั่นต่างๆใน Objective-C ซึ่งไม่คืนค่าหรือคุณสามารถพูดได้ว่ามันคืนค่าเป็นโมฆะ ฟังก์ชันที่ไม่มีค่าส่งคืนจะมีประเภทการส่งคืนเป็นโมฆะ ตัวอย่างเช่น,void exit (int status); |
2 | Function arguments as void มีฟังก์ชันต่างๆใน Objective-C ซึ่งไม่ยอมรับพารามิเตอร์ใด ๆ ฟังก์ชันที่ไม่มีพารามิเตอร์สามารถยอมรับว่าเป็นโมฆะ ตัวอย่างเช่น,int rand(void); |
ในตอนนี้คุณอาจไม่เข้าใจประเภทโมฆะดังนั้นให้เราดำเนินการต่อและเราจะกล่าวถึงแนวคิดเหล่านี้ในบทต่อ ๆ ไป