Objective-C 数据类型

  • 数据类型

    在Objective-C编程语言中,数据类型是指用于声明不同类型的变量或函数的扩展系统。变量的类型决定了它在存储中占据多少空间以及如何解释所存储的位模式。Objective-C中的类型可以分类如下-
    类型 说明
    基本类型 它们是算术类型,由两种类型组成:(a)整数类型和(b)浮点类型。
    枚举类型 它们还是算术类型,用于定义只能在整个程序中分配某些离散整数值的变量。
    类型void 类型说明符void指示没有可用值。
    派生类型 它们包括(a)指针类型,(b)数组类型,(c)结构类型,(d)联合类型和(e)函数类型。
    数组类型和结构类型统称为集合类型。函数的类型指定函数的返回值的类型。我们将在下一节中看到基本类型,而其他类型将在接下来的章节中介绍。
  • 整数类型

    下表为您提供有关标准整数类型及其存储大小和值范围的详细信息-
    类型 存储大小 取值范围
    char 1 byte -128 到 127 或 0 to 255
    unsigned char 1 byte 0 到 255
    signed char 1 byte -128 to 127
    int 2 或 4 bytes -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
    unsigned int 2 或 4 bytes 0 到 65,535 或 0 到 4,294,967,295
    short 2 bytes -32,768 到 32,767
    unsigned short 2 bytes 0 到 65,535
    long 4 bytes -2,147,483,648 到 2,147,483,647
    unsigned long 4 bytes 0 到 4,294,967,295
    要获取特定平台上类型或变量的确切大小,可以使用sizeof运算符。表达式sizeof(type)产生对象或类型的存储大小(以字节为单位)。以下是在任何机器上获取int类型的大小的示例-
    
    #import <Foundation/Foundation.h>
    
    int main() {
       NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];  
       NSLog(@"Storage size for int : %d \n", sizeof(int));
       [pool drain];
       return 0;
    }
    
    当您编译并执行上述程序时,在Linux上会产生以下结果-
    
    2020-08-04 09:14:57.548 test[2455:2455] 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定义了宏,这些宏使您可以使用这些值以及有关程序中实数二进制表示形式的其他详细信息。以下示例将打印浮点类型及其范围值占用的存储空间-
    
    #import <Foundation/Foundation.h>
    
    int main() {
       NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];  
       NSLog(@"Storage size for int : %d \n", sizeof(float));
       [pool drain];
       return 0;
    }
    
    当您编译并执行上述程序时,在Linux上会产生以下结果-
    
    2020-08-04 09:14:59.548 test[2455:2455] Storage size for int : 4
    
  • 分号;

    在Objective-C程序中,分号是语句终止符。也就是说,每个单独的语句必须以分号结尾。它指示一个逻辑实体的结尾。例如,以下是两个不同的语句-
    
    NSLog(@"Hello, World! \n");
    return 0;
    
  • void类型

    void类型指定没有可用值。它在两种种情况下使用-
    • 函数返回为void - Objective-C中有很多函数不返回值,或者可以说它们返回void。没有返回值的函数的返回类型为void。例如,void exit(int status);
    • 函数参数为void - Objective-C中有许多不接受任何参数的函数。没有参数的函数可以接受为void。例如,int rand(void)
    此时您可能还无法理解void类型,因此让我们继续,我们将在接下来的章节中介绍这些概念。