什么是C语言结构的指针?

结构指针包含整个结构的加法。

它用于创建复杂的数据结构,例如链表,树,图等。

可以使用称为箭头运算符(->)的特殊运算符来访问结构的成员。

宣言

以下是C编程中结构指针的声明-

struct tagname *ptr;

例如-结构学生* s-

存取中

下面说明如何访问结构的指针。

Ptr-> membername;

例如-s-> sno,s-> sname,s-> marks;

例子1

以下程序显示了结构指针的用法-

#include<stdio.h>
struct student{
   int sno;
   char sname[30];
   float marks;
};
main ( ){
   struct student s;
   struct student *st;
   printf("enter sno, sname, marks:");
   scanf ("%d%s%f", & s.sno, s.sname, &s. marks);
   st = &s;
   printf ("details of the student are");
   printf ("Number = %d\n", st ->sno);
   printf ("name = %s\n", st->sname);
   printf ("marks =%f\n", st ->marks);
}
输出结果

让我们运行上面的程序,它将产生以下结果-

enter sno, sname, marks:1 Lucky 98
details of the student are:
Number = 1
name = Lucky
marks = 98.000000

例子2

考虑另一个示例,该示例解释了结构指针的功能。

#include<stdio.h>
struct person{
   int age;
   float weight;
};
int main(){
   struct person *personPtr, person1;
   personPtr = &person1;
   printf("输入年龄: ");
   scanf("%d", &personPtr->age);
   printf("输入重量: ");
   scanf("%f", &personPtr->weight);
   printf("Displaying:\n");
   printf("Age: %d\n", personPtr->age);
   printf("weight: %f", personPtr->weight);
   return 0;
}
输出结果

让我们运行上面的程序,它将产生以下结果-

输入年龄: 45
输入重量: 60
Displaying:
Age: 45
weight: 60.000000