Các kiểu dữ liệu Objective-C
Trong ngôn ngữ lập trình Objective-C, kiểu dữ liệu đề cập đến một hệ thống mở rộng được sử dụng để khai báo các biến hoặc hàm thuộc các kiểu khác nhau. Kiểu của một biến xác định bao nhiêu không gian mà nó chiếm trong bộ nhớ và cách diễn giải mẫu bit được lưu trữ.
Các loại trong Objective-C có thể được phân loại như sau:
Sr.No. | Loại & Mô tả |
---|---|
1 | Basic Types − Chúng là kiểu số học và bao gồm hai kiểu: (a) kiểu số nguyên và (b) kiểu dấu phẩy động. |
2 | Enumerated types − Chúng lại là các kiểu số học và chúng được sử dụng để định nghĩa các biến chỉ có thể được gán các giá trị nguyên rời rạc nhất định trong suốt chương trình. |
3 | The type void − Void xác định kiểu chỉ ra rằng không có giá trị nào. |
4 | Derived types − Chúng bao gồm (a) Kiểu con trỏ, (b) Kiểu mảng, (c) Kiểu cấu trúc, (d) Kiểu liên kết và (e) Kiểu hàm. |
Các kiểu mảng và kiểu cấu trúc được gọi chung là kiểu tổng hợp. Kiểu của một hàm chỉ định kiểu của giá trị trả về của hàm. Chúng ta sẽ thấy các loại cơ bản trong phần sau trong khi các loại khác sẽ được đề cập trong các chương sắp tới.
Các loại số nguyên
Bảng sau cung cấp cho bạn thông tin chi tiết về các kiểu số nguyên tiêu chuẩn với kích thước lưu trữ và phạm vi giá trị của nó:
Kiểu | Kích thước lưu trữ | Phạm vi giá trị |
---|---|---|
char | 1 byte | -128 đến 127 hoặc 0 đến 255 |
ký tự không dấu | 1 byte | 0 đến 255 |
ký char | 1 byte | -128 đến 127 |
int | 2 hoặc 4 byte | -32,768 đến 32,767 hoặc -2,147,483,648 đến 2,147,483,647 |
int không dấu | 2 hoặc 4 byte | 0 đến 65,535 hoặc 0 đến 4,294,967,295 |
ngắn | 2 byte | -32,768 đến 32,767 |
không dấu ngắn | 2 byte | 0 đến 65,535 |
Dài | 4 byte | -2.147.483.648 đến 2.147.483.647 |
không ký lâu | 4 byte | 0 đến 4,294,967,295 |
Để có được kích thước chính xác của một loại hoặc một biến trên một nền tảng cụ thể, bạn có thể sử dụng sizeofnhà điều hành. Biểu thức sizeof (type) mang lại kích thước lưu trữ của đối tượng hoặc kiểu tính bằng byte. Sau đây là một ví dụ để lấy kích thước của kiểu int trên bất kỳ máy nào:
#import <Foundation/Foundation.h>
int main() {
NSLog(@"Storage size for int : %d \n", sizeof(int));
return 0;
}
Khi bạn biên dịch và thực thi chương trình trên, nó tạo ra kết quả sau trên Linux:
2013-09-07 22:21:39.155 demo[1340] Storage size for int : 4
Các loại dấu chấm động
Bảng sau cung cấp cho bạn thông tin chi tiết về các loại dấu phẩy động tiêu chuẩn với kích thước lưu trữ và phạm vi giá trị và độ chính xác của chúng -
Kiểu | Kích thước lưu trữ | Phạm vi giá trị | Độ chính xác |
---|---|---|---|
Phao nổi | 4 byte | 1,2E-38 đến 3,4E + 38 | 6 chữ số thập phân |
gấp đôi | 8 byte | 2.3E-308 đến 1.7E + 308 | 15 chữ số thập phân |
dài đôi | 10 byte | 3,4E-4932 đến 1,1E + 4932 | 19 chữ số thập phân |
Tệp tiêu đề float.h xác định các macro cho phép bạn sử dụng các giá trị này và các chi tiết khác về biểu diễn nhị phân của số thực trong chương trình của bạn. Ví dụ sau sẽ in không gian lưu trữ được lấy bởi kiểu float và các giá trị phạm vi của nó:
#import <Foundation/Foundation.h>
int main() {
NSLog(@"Storage size for float : %d \n", sizeof(float));
return 0;
}
Khi bạn biên dịch và thực thi chương trình trên, nó tạo ra kết quả sau trên Linux:
2013-09-07 22:22:21.729 demo[3927] Storage size for float : 4
Loại trống
Kiểu void chỉ định rằng không có giá trị nào. Nó được sử dụng trong ba loại tình huống -
Sr.No. | Các loại và Mô tả |
---|---|
1 | Function returns as void Có nhiều hàm khác nhau trong Objective-C không trả về giá trị hoặc bạn có thể nói chúng trả về giá trị vô hiệu. Một hàm không có giá trị trả về có kiểu trả về là void. Ví dụ,void exit (int status); |
2 | Function arguments as void Có nhiều hàm khác nhau trong Objective-C không chấp nhận bất kỳ tham số nào. Một hàm không có tham số có thể chấp nhận là một khoảng trống. Ví dụ,int rand(void); |
Bạn có thể chưa hiểu kiểu void tại thời điểm này, vì vậy hãy để chúng tôi tiếp tục và chúng tôi sẽ trình bày các khái niệm này trong các chương sắp tới.