在C语言中的箭头操作符- 你需要了解的一切!

大家好!在这篇文章中,我们将着重介绍C语言中的箭头运算符。C语言包含各种运算符来处理和操作数据记录,其中之一就是箭头运算符。

那么,让我们开始吧!


C中的箭头运算符的工作原理是什么?

在C语言中,这个运算符使程序员能够访问结构体或联合体的数据元素。

这个操作符(->)是通过减号(-)操作符和大于(>)关系操作符构建的。此外,它帮助我们访问指针变量所引用的结构体或联合体的成员。

现在让我们专注于C语言中的箭头操作符结构。


箭头操作符(->)的语法结构

请看下面的语法!

(pointer variable)->(variable) = value;

运算符与指针变量一起使用,它将指针/对象指向的位置(变量)的值存储起来。

让我们通过即将展示的一些例子来实施这个操作符。


箭头运算符(->)的示例

在下面的示例中,我们创建了一个名为“Movie_info”的结构体。此外,我们使用C中的malloc()函数为该结构体分配了内存,并将指针对象指向了这块动态内存。

使用箭头运算符访问C结构体的数据成员

#include <stdio.h>
 
struct Movie_info
{ 
    char *name; 
    char *ACC; 
};
 
int main()
{
     struct Movie_info* M;
     M = (struct Movie_info*) 
        malloc(sizeof(struct Movie_info)); 
     
     M->name = "Python with JournalDev";
     M->ACC="A";
 
     printf("Movie Information:");
     printf("\nName: %s", M->name);
     printf("\nACC: %s", M->ACC);
     return 0;
}

我们使用箭头操作符(->)来访问数据成员的值。

输出:

Movie Information:
Name: Python with JournalDev
ACC: A

让我们现在尝试使用箭头运算符来访问联合的数据成员。在C语言中使用箭头运算符来访问联合的数据成员。

#include <stdio.h>
 
union Movie_info
{ 
    int id;
    float net_val;
};
 
int main()
{
     union Movie_info* M;
     M = (union Movie_info*) 
        malloc(sizeof(union Movie_info)); 
     printf("Movie Information:\n");
     M->id = 01;
     printf("\n ID: %d", M->id);
     M->net_val = 125.45;
     printf("\n NET VALUE: %.1f", M->net_val);
     return 0;
}

就像结构体一样,我们创建了一个名为”Movie_info”的联合体,并使用箭头运算符访问数据值,如上所示。

输出:以下是中文的本地化释义,只需要一个选项:

解答:

Movie Information:
ID: 1
NET VALUE: 125.4

结论

到此为止,我们已经结束了这个话题,如果你遇到任何问题,请随时在下方评论。


参考资料

  • Arrow operator in C – StackOverFlow
发表回复 0

Your email address will not be published. Required fields are marked *