Objective-C 数据类型

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

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

编号类型 & 描述
1

基础类型 −

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

2

枚举类型 −

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

3

void 类型 −

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

4

派生类型 −

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

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


整数类型

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

类型存储大小值范围
char1 byte-128 至 127 或 0 至 255
unsigned char1 byte0 至 255
signed char1 byte-128 至 127
int2 or 4 bytes-32,768 至 32,767 或 -2,147,483,648 至 2,147,483,647
unsigned int2 或 4 bytes0 至 65,535 或 0 至 4,294,967,295
short2 bytes-32,768 至 32,767
unsigned short2 bytes0 或 65,535
long4 bytes-2,147,483,648 至 2,147,483,647
unsigned long4 bytes0 至 4,294,967,295

要获得特定平台上类型或变量的确切大小,可以使用 sizeof 运算符。表达式 sizeof(type)生成对象或类型的存储大小(以字节为单位)。下面是一个在任何机器上获取 int 类型大小的实例

  1. #import <Foundation/Foundation.h>
  2. int main() {
  3. NSLog(@"Storage size for int : %d \n", sizeof(int));
  4. return 0;
  5. }

当您编译并执行上述程序时,它会在 Linux 上生成以下结果:

  1. 2022-07-07 22:21:39.155 demo[1340] Storage size for int : 4

浮点类型

下表提供了有关标准浮点类型的详细信息,包括存储大小、值范围及其精度:

类型存储大小值范围精度
float4 byte1.2E-38 至 3.4E+386 位小数
double8 byte2.3E-308 至 1.7E+30815 位小数
long double10 byte3.4E-4932 至 1.1E+493219 位小数

头文件 float.h 定义宏,让您可以在程序中使用这些值和有关实数二进制表示的其他详细信息。下面的实例将打印浮点类型占用的存储空间及其范围值

  1. #import <Foundation/Foundation.h>
  2. int main() {
  3. NSLog(@"Storage size for float : %d \n", sizeof(float));
  4. return 0;
  5. }

当您编译并执行上述程序时,它会在 Linux 上生成以下结果:

  1. 2022-07-07 22:22:21.729 demo[3927] Storage size for float : 4

void 类型

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

编号类型与描述
1函数不返回值

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

2函数参数为空

这里是 Objective-C 中不接受任何参数的各种函数没有参数的函数可以接受为 void。比如, int rand(void);

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