C语言中的成员访问:普通变量与指针变量的区别与使用

C语言中的成员访问

在C语言中,我们可以通过变量来访问它们的成员。根据变量的类型,我们使用不同的成员访问符:.->。本文将详细介绍这两个成员访问符的使用。

目录

  1. 普通变量的成员访问
  2. 指针变量的成员访问
  3. 示例代码
  4. 总结

普通变量的成员访问

在C语言中,我们可以定义一个结构体来表示一个对象或者一组数据。结构体中的成员可以是不同的数据类型,比如整数、浮点数、字符数组等。当我们创建一个结构体变量后,可以通过.来访问它的成员。

struct Person 
{
    char name[20];
    int age;
    double score;
};

int main() 
{
    struct Person p;

    strcpy(p.name, "Alice");
    p.age = 25;
    p.score = 95.5;

    printf("Name: %s\n", p.name);
    printf("Age: %d\n", p.age);
    printf("Score: %lf\n", p.score);

    return 0;
}

上述示例中,我们定义了一个名为Person的结构体,包含了三个成员:nameagescore。在main函数中,我们创建了一个Person类型的变量p,并通过strcpy和赋值来设置其成员的值。然后,我们通过.来访问p的各个成员,并使用printf将它们打印出来。

指针变量的成员访问

除了使用.来访问结构体变量的成员,我们还可以使用指针变量来访问结构体的成员。当我们声明一个指向结构体的指针变量后,需要使用->来访问结构体的成员。

struct Person 
{
    char name[20];
    int age;
    double score;
};

int main() 
{
    struct Person p;
    struct Person* pp;

    pp = &p;
    strcpy(pp->name, "Bob");
    pp->age = 30;
    pp->score = 85.5;

    printf("Name: %s\n", pp->name);
    printf("Age: %d\n", pp->age);
    printf("Score: %lf\n", pp->score);

    return 0;
}

在上面的示例中,我们首先定义了一个指向Person类型的指针变量pp。然后,将pp指向p,并使用strcpy和赋值来设置p的成员的值。通过->,我们可以访问pp所指向的结构体的各个成员,并使用printf将它们打印出来。

示例代码

你可以在以下链接中找到本文中使用的示例代码:C语言成员访问示例代码

总结

在C语言中,我们可以使用.来访问普通变量的成员,使用->来访问指针变量所指向的结构体的成员。这两种成员访问方式使得我们可以方便地操作结构体的数据。在编写程序时,我们可以根据实际需求选择合适的成员访问符。

你可能感兴趣的:(C,编程探索,mcu,autosar,BSW,mcal,c语言)