Objective-C 数据类型



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

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

序号 类型及描述
1

基本类型:

它们是算术类型,包含两种类型:(a) 整型和 (b) 浮点型。

2

枚举类型:

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

3

void 类型:

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

4

派生类型:

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

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

整型

下表列出了标准整型及其存储大小和值范围:

类型 存储大小 值范围
char 1 字节 -128 到 127 或 0 到 255
unsigned char 1 字节 0 到 255
signed char 1 字节 -128 到 127
int 2 或 4 字节 -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int 2 或 4 字节 0 到 65,535 或 0 到 4,294,967,295
short 2 字节 -32,768 到 32,767
unsigned short 2 字节 0 到 65,535
long 4 字节 -2,147,483,648 到 2,147,483,647
unsigned long 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 

浮点类型

下表列出了标准浮点类型及其存储大小、值范围和精度:

类型 存储大小 值范围 精度
float 4 字节 1.2E-38 到 3.4E+38 6 位小数
double 8 字节 2.3E-308 到 1.7E+308 15 位小数
long double 10 字节 3.4E-4932 到 1.1E+4932 19 位小数

头文件 float.h 定义了宏,允许您在程序中使用这些值以及关于实数二进制表示的其他细节。以下示例将打印 float 类型占用的存储空间及其范围值:

#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 类型

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

序号 类型和描述
1 函数返回 void

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

2 函数参数为 void

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

目前您可能不理解 void 类型,因此让我们继续,我们将在后续章节中介绍这些概念。

广告
© . All rights reserved.