ObjC学习(2):数据类型(1)

简介: 2.1 数据类型分类在ObjC中,所有的变量必须先声明后使用。在声明变量的时候,需要指定变量的类型。声明变量时,只要指定变量的类型和变量名即可,语法格式如下:type  varName;ObjC支持的数据类型包括:基本类型、构造类型和指针类型。

2.1 数据类型分类

在ObjC中,所有的变量必须先声明后使用。在声明变量的时候,需要指定变量的类型。


声明变量时,只要指定变量的类型和变量名即可,语法格式如下:

type  varName;


ObjC支持的数据类型包括:基本类型、构造类型和指针类型。其中,基本类型包括:整型、字符型、浮点型和枚举型;构造类型包括:数组类型、结构体类型和共用体类型;而指针类型是ObjC中最重要的类型。


2.2 基本数据类型

2.2.1 整型

包括以下类型:

  • short int(简称short):在内存中通常占16位,取值范围是-32768(-2^15)~32767(2^15-1)。
  • int:在内存中占32位,取值范围是-2147483648(-2^31)~2147483647(2^31-1)。
  • long int(简称long):在不同的平台上所占用的内存空间不同,其取值范围也略有不同。
  • long long:在内存中占64位,取值范围是-9223372036854775808(-2^63)~9223372036854775807(2^63-1)。


ObjC中整数数值有3种表示方式:十进制、八进制和十六进制。八进制的整数以0开头,十六进制的整数以0x或0X开头,其中10~15分别以a~f(不区分大小写)来表示。


ObjC还允许在上述4种整型前面添加unsigned关键字,将它们变成无符号整型。例如,unsigned short型的取值范围是0~65535。


2.2.2 字符型

字符型(char)用于表示单个字符,字符型直接量必须使用单引号(‘)引起来。ObjC的每个字符只占1字节。


字符型直接量有两种表示形式:

  • 直接通过单个字符来指定字符直接量,例如’A’、’6’等。
  • 通过转义字符表示特殊的字符型直接量,例如’\n’、’\t’等。


char类型的值也可以直接作为整型的值来使用,它是一个8位的无符号整数,取值范围是0~255。


ObjC提供了NSString类来表示字符串。字符串由多个字符组成,使用双引号括起来,并在前面使用@符号。例如:NSString *s = @“Hello, world!”;


注意,在ObjC中,单引号、双引号和反斜线都有其特殊的用途,如果一个字符串中包含了这些特殊字符,则应该使用转义字符的表示形式。

目录
相关文章
|
7月前
|
安全 Swift
Swift 语言:什么是可选类型(Optional)?如何处理可选类型的安全解包?
Swift的可选类型是处理值可能缺失的类,用?表示。它们能表示有值或无值状态。安全解包用`if let`或`guard let`避免崩溃,而强制解包`!`则风险较高,若值为`nil`会触发运行时错误。
53 0
|
7月前
|
C++ Rust NoSQL
Rust 数据类型 之 类C枚举 c-like enum
Rust 数据类型 之 类C枚举 c-like enum
64 0
Rust 数据类型 之 类C枚举 c-like enum
|
7月前
|
存储 Swift
Swift 语言:什么是值类型和引用类型?Swift 中有哪些值类型和引用类型?
Swift 语言:什么是值类型和引用类型?Swift 中有哪些值类型和引用类型?
96 2
|
7月前
|
Swift
Swift 中的枚举(Enum)
Swift 中的枚举(Enum)
57 2
|
存储 编译器 Swift
Swift-进阶 08:枚举enum
Swift-进阶 08:枚举enum
627 1
Swift-进阶 08:枚举enum
|
存储 安全 程序员
Swift-进阶 03:值类型 & 引用类型
Swift-进阶 03:值类型 & 引用类型
197 0
Swift-进阶 03:值类型 & 引用类型
|
编译器 API C语言
objc_msgSend分析
本文主要是对objc_msgSend的分析理解, 在分析cache_t的流程时, 我们只分析了写入流程, 其实还有一个cache读取流程, 有objc_msgSend和cache_getImp.
131 0
objc_msgSend分析
|
C#
Protobuf的Enum枚举类型不能同名?
Protobuf的Enum枚举类型不能同名?
1793 0
|
安全 编译器 C++
C++类型强制转换:隐式转换和显式转换(包含Qt智能指针类型转换)
C++类型强制转换:隐式转换和显式转换(包含Qt智能指针类型转换)
815 0
12.Swift学习之Any、AnyObject与类型转化
Any、AnyObject Any是一个空协议集合的别名,它表示没有实现任何协议,因此它可以是任何类型,包括类实例与结构体实例。可以表示任何类型,包括函数类型。
1968 0