在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