我正在读一本叫做《21天自学C语言》的书(我已经学会了Java和c#,所以我正在以更快的速度前进)。我正在阅读关于指针的章节,->(箭头)操作符没有解释就出现了。我认为它是用来调用成员和函数的(类似于。(点)操作符,但用于指针而不是成员)。但我不完全确定。
我能得到一个解释和一个代码样本吗?
我正在读一本叫做《21天自学C语言》的书(我已经学会了Java和c#,所以我正在以更快的速度前进)。我正在阅读关于指针的章节,->(箭头)操作符没有解释就出现了。我认为它是用来调用成员和函数的(类似于。(点)操作符,但用于指针而不是成员)。但我不完全确定。
我能得到一个解释和一个代码样本吗?
当前回答
Dot是一个解引用操作符,用于连接结构的特定记录的结构变量。 例如:
struct student
{
int s.no;
Char name [];
int age;
} s1,s2;
main()
{
s1.name;
s2.name;
}
这样,我们就可以使用点运算符来访问结构变量
其他回答
Dot是一个解引用操作符,用于连接结构的特定记录的结构变量。 例如:
struct student
{
int s.no;
Char name [];
int age;
} s1,s2;
main()
{
s1.name;
s2.name;
}
这样,我们就可以使用点运算符来访问结构变量
struct Node {
int i;
int j;
};
struct Node a, *p = &a;
在这里要访问i和j的值,我们可以使用变量a和指针p,如下所示:a.i, (*p)。I和p-> I都是一样的。
在这里。是“直接选择器”,->是“间接选择器”。
Foo ->bar只是(* Foo).bar的简写。这就是它的全部。
A ->b是(* A)的缩写。B(对于函数也是一样:a-> B()是(*a). B()的缩写)。
是的,就是这样。
它只是点版本,当你想访问一个结构/类的元素是一个指针,而不是一个引用。
struct foo
{
int x;
float y;
};
struct foo var;
struct foo* pvar;
pvar = malloc(sizeof(struct foo));
var.x = 5;
(&var)->y = 14.3;
pvar->y = 22.4;
(*pvar).x = 6;
就是这样!