Objective c 目标C语法:什么是->;?

Objective c 目标C语法:什么是->;?,objective-c,runtime,Objective C,Runtime,可能重复: 这里是初学者的问题。我正在浏览objective c runtime()的介绍,我看到了这个带有->的时髦语法。似乎找不到解释这意味着什么 有人吗 谢谢 这实际上是C语法。它用于访问指向结构的指针的字段(变量) 当您有一个指针时,您必须使用*语法来解除对它的引用: int var = 1; // regular int variable int *ptr = &var; // pointer to that variable int sum = (*ptr) + 3;

可能重复:

这里是初学者的问题。我正在浏览objective c runtime()的介绍,我看到了这个带有->的时髦语法。似乎找不到解释这意味着什么

有人吗


谢谢

这实际上是C语法。它用于访问指向结构的指针的字段(变量)

当您有一个指针时,您必须使用
*
语法来解除对它的引用:

int var = 1;   // regular int variable
int *ptr = &var;  // pointer to that variable
int sum = (*ptr) + 3;   // if you want to use it regularly, you have to dereference it first.
现在,如果这个指针恰好是一个结构指针,它可能会变得丑陋:

// Define and typedef a struct.
typedef struct {
    int num1;
    int num2; 
} MyStruct;

MyStruct myStruct = (MyStruct){1, 2};   // Regular struct.
MyStruct *pointer = &myStruct;          // Pointer to that struct.
int sum = (*pointer).num1 + (*pointer).num2;   // The ugly part.
int niceSum = pointer->num1 + pointer->num2;   // Same thing with cleaner code.

这实际上是C语法。它用于访问指向结构的指针的字段(变量)

当您有一个指针时,您必须使用
*
语法来解除对它的引用:

int var = 1;   // regular int variable
int *ptr = &var;  // pointer to that variable
int sum = (*ptr) + 3;   // if you want to use it regularly, you have to dereference it first.
现在,如果这个指针恰好是一个结构指针,它可能会变得丑陋:

// Define and typedef a struct.
typedef struct {
    int num1;
    int num2; 
} MyStruct;

MyStruct myStruct = (MyStruct){1, 2};   // Regular struct.
MyStruct *pointer = &myStruct;          // Pointer to that struct.
int sum = (*pointer).num1 + (*pointer).num2;   // The ugly part.
int niceSum = pointer->num1 + pointer->num2;   // Same thing with cleaner code.

->
也被称为(我使用上述关键词发现了重复的问题:“obj-c结构解引用”。首先查找“实名”是很好的,这是我最初搜索“c操作员列表”时做的。)非常感谢提醒!Objective-C就是C。也许你应该买一本介绍C编程的书/教程/课程/视频等。
->
也被称为。(我用上述关键词发现了重复的问题:“obj-C结构解引用”。最好先查一下“实名”,这是我在搜索“C操作符列表”时做的。)最初)很酷,谢谢你的提醒!Objective-C就是C。也许你应该买一本介绍C编程的书/教程/课程/视频/等等。Objective-C和object是一个结构,因此
->
可以用来访问接口中声明为公共的实例变量。但是,大多数都会鼓励您使用属性并避免公开访问实例变量。在Objective-C中,object是一个结构,因此可以使用
->
访问接口中声明为公开的实例变量。然而,大多数都会鼓励您使用属性,避免公开访问实例变量。