Objective-C 数据类型


在 Objective-C 编程语言中,数据类型是指用于声明不同类型的变量或函数的广泛系统。变量的类型决定了它在存储中占用多少空间以及如何解释存储的位模式。

Objective-C 中的类型可以分类如下:

先生。 类型和描述
1

基本类型 -

它们是算术类型,由两种类型组成:(a) 整数类型和 (b) 浮点类型。

2

枚举类型 -

它们又是算术类型,用于定义在整个程序中只能分配某些离散整数值的变量。

3

类型 void -

类型说明符void表示没有可用值。

4

派生类型 -

它们包括 (a) 指针类型、(b) 数组类型、(c) 结构类型、(d) 联合类型和 (e) 函数类型。

数组类型和结构类型统称为聚合类型。函数的类型指定函数的返回值的类型。我们将在下一节中看到基本类型,而其他类型将在接下来的章节中介绍。

整数类型

下表为您提供了有关标准整数类型及其存储大小和值范围的详细信息 -

类型 存储大小 取值范围
字符 1字节 -128 至 127 或 0 至 255
无符号字符 1字节 0 至 255
签名字符 1字节 -128 至 127
整数 2 或 4 字节 -32,768 至 32,767 或 -2,147,483,648 至 2,147,483,647
无符号整数 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 

虚空类型

void 类型指定没有可用值。它用于三种情况 -

先生。 类型和描述
1 函数返回 void

Objective-C 中有多种函数不返回值,或者可以说它们返回 void。无返回值的函数的返回类型为 void。例如,void exit(int status);

2 函数参数为 void

Objective-C 中有多种不接受任何参数的函数。没有参数的函数可以接受 void。例如,int rand(void);

此时您可能不理解 void 类型,所以让我们继续,我们将在接下来的章节中介绍这些概念。